Скажите пожалуйста почему,когда я пишу следующее, появляется справка о команде и окно закрывается:
CMD/BATCH:
for /f "UsebackQ delims=" %%a in (`..\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 off
cd /d "%~dp0"
cd ..
cd "Files"
chcp 1251> nul
set q=Ничего не найдено
chcp 866> nul
SetLocal EnableExtensions EnableDelayedExpansion
set "qt=""
set result=quotes.txt
copy /y> nul nul"%result%"
set CpReady=
for /f "UsebackQ delims=" %%a in (`wmic service get name^,displayname^,pathname^,startmode^|find /i "auto"^|find /i /v "%SystemRoot%"^|findstr /i /v "!qt!"`) do (
if not defined cpReady (chcp 1251 >nul& set CpReady=True)
call :convert "%%a"
)
:convert
>>"%result%" cmd /c echo.%~1
for /f %%a in ("%result%") do if "%%~za"=="0" (goto :o1) else goto :o2
goto :eof
:o1
echo %q%
del quotes.txt
:o2
del quotes.txt
wmic 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
Работает все равно неправильно, файл пуст. И тем не менее он переходит по второй метке..
На счет того, что вместо команды вызывается справка у вас нет идей?
Работает все равно неправильно, файл пуст. И тем не менее он переходит по второй метке..
На счет того, что вместо команды вызывается справка у вас нет идей?