Функция PAUSE командной строки не работает
У меня возникла проблема с командой пакетного файла - когда я запускаю программу, в конце пакетного файла появляется команда "ПАУЗА", однако командное окно все равно автоматически закрывается мгновенно, слишком быстро, чтобы я мог увидеть Результаты. Есть ли другой способ предотвратить закрытие командного окна или как-то получить результаты? т. е. можно ли печатную версию отправить, вставить куда-нибудь?
Предыстория - я знаю, как сидеть на корточках о командной строке, поэтому, пожалуйста, если вы можете, любой ответ, пожалуйста, не доходите до объяснений новичка уровня. В конечном итоге я пытаюсь определить версии файла MS Project и точно использовал / следовал инструкциям на этом веб-сайте, однако результаты не отображаются для меня - окно командной строки просто исчезает мгновенно:
Веб-сайт Microsoft, который я использовал для инструкций: простой метод определения версии файла mpp (файл плана MS Project)
Текст / команды в пакетном файле:
@ECHO OFF
REM Version.bat
ECHO Filename: %1
ECHO.
ECHO -- CHECK FOR PROJECT VERSION --
strings %1 | findstr "[0-9],.,....,...." 2>NUL
ECHO Check the following list for the first one or two digits of the string above (xx,.,....,....)
ECHO List of xx (Product Name): 8 (98), 9 (2000), 10 (2002), 11 (2003), 12 (2007), 14 (2010)
ECHO.
ECHO -- CHECK FOR MPP FILE VERSION --
strings %1 | findstr ".MPP" 2>NUL
ECHO Check the following list for the digit(s) at the end of the string above (...MPPxx)
ECHO List of xx (Product Name): 8 (98), 9 (2000/2002/2003), 12 (2007), 14 (2010)
ECHO.
PAUSE
3 ответа
Я подозреваю, что в файле есть ошибка. Попробуйте вызвать пакетный файл из существующего командного окна, чтобы увидеть сообщение.
Скорее всего, проблема в том, что скрипт вызывает внешнюю программу, называемую "строками", и в соответствии с документом, на который вы ссылаетесь, это можно найти здесь. Чтобы пакетный файл мог его найти, вы должны установить его в каталог, в котором вы его запускаете, в противном случае вам потребуется изменить системную переменную среды PATH или поместить ее в системный каталог.
Подождите
сек:
PING 127.0.0.1 -n <sec> >NUL
Подождите 10 секунд:
PING 127.0.0.1 -n 10 >NUL
Подождите 10 секунд:
powershell measure-command {sleep -s 10} ^| select TotalSeconds ^| Ft -Au
Подождите 1/4 секунды или 250 миллисекунд:
powershell measure-command {sleep -m 250} ^| select TotalMilliseconds ^| Ft -Au
Пауза
PowerShell:
powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')
var2:
powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') >NUL
var3:
powershell cmd /c pause ^| out-null
var4:
powershell [Console]::ReadKey()>NUL
var5:
powershell sleep
Команда паузы, пакет /cmd:
cmd /c pause
Если предыдущая команда является командным файлом, остальная часть вашего файла не выполняется. попробуйте позвонить перед предыдущими командами /