Скажите пожалуйста почему,когда я пишу следующее, появляется справка о команде и окно закрывается:
CMD/BATCH:
for/f"UsebackQ delims="%%ain(`..\utilite\autorunsc.exe -a ^| findstr /n/R"File\ not\ found"`)do(
Команда
CMD/BATCH:
autorunsc.exe -a | findstr /n/R"File\ not\ found"
непосредственно при введении в командную строку выполняется.
И еще такой вопрос: хочу чтоб в консоли отображалась надпись, если команда ничего не нашла (по умолчанию, в случае того, если утилита не находит нужное, она ничего не выдает). Так вот написал следующий код:
CMD/BATCH:
@echo offcd/d"%~dp0"cd ..cd"Files"chcp1251> nulsetq=Ничего не найденоchcp866> nulSetLocal EnableExtensions EnableDelayedExpansionset"qt=""setresult=quotes.txtcopy /y> nul nul"%result%"setCpReady=for/f"UsebackQ delims="%%ain(`wmic service get name^,displayname^,pathname^,startmode^|find /i"auto"^|find /i/v"%SystemRoot%"^|findstr /i/v"!qt!"`)do(ifnotdefined cpReady(chcp1251 >nul&setCpReady=True)call:convert"%%a"):convert
>>"%result%" cmd /c echo.%~1
for/f%%ain("%result%")doif"%%~za"=="0"(goto:o1)elsegoto:o2goto:eof:o1echo%q%del quotes.txt:o2del quotes.txtwmic service get name,displayname,pathname,startmode |find /i"auto" |find /i/v"%SystemRoot%" |findstr /i/v"!qt!"
Текстовый файл, который он создает, пуст, тем не менее в командной строке я вижу следующее:
C:\Users\User\Files>for /F %a in ("quotes.txt"
) do if "%~za" == "0" (goto 1 ) else goto 2
Работает все равно неправильно, файл пуст. И тем не менее он переходит по второй метке..
На счет того, что вместо команды вызывается справка у вас нет идей?
Работает все равно неправильно, файл пуст. И тем не менее он переходит по второй метке..
На счет того, что вместо команды вызывается справка у вас нет идей?
У Вас больно слишком сложный код даже для того, чтобы разобраться.
Можно уложиться в десяток строк:
CMD/BATCH:
@echo offSetLocal EnableExtensions EnableDelayedExpansionset"qt=""setresult=quotes.txtwmic service get name,displayname,pathname,startmode |find /i"auto" |find /i/v"%SystemRoot%" |findstr /i/v"!qt!" >"%result%"&&(chcp1251>NUL&cmd/a/c set/p=яю<NUL>.tmp&chcp866>NUL&cmd/u/c type "%result%">>.tmp&chcp1251>NUL&cmd/a/c type .tmp>"%result%"&del .tmpnotepad"%result%") || (echo Ничего не найдено)pause