Есть ли какой-либо метод в окне, через который мы можем выполнить пакетный скрипт без расширения .bat?Как запустить пакетный скрипт с использованием расширения * .bat
ответ
Это интересная тема для меня! Я хочу сделать некоторые замечания по этому поводу.
Важный момент: Пакетный файл - это файл с расширением .BAT или .CMD. Период. Пакетные файлы можно достичь, помимо выполнения обычных DOS команды, определенные специфические средства Batch-файл, в частности:
- Доступ к параметрам пакетного файла через% 1% 2 ... и выполнение команды SHIFT.
- Выполнение команды GOTO.
- Выполнение команды CALL: NAME (внутренняя подпрограмма).
- Выполнение команд SETLOCAL/ENDLOCAL.
Теперь смешная часть: любой файл может быть перенаправлен в качестве ввода для CMD.exe, поэтому содержащиеся в нем команды DOS выполняются аналогичным образом из Batch-файла с некоторыми отличиями. Самое главное, что предыдущие Пакетные файлы НЕ будут работать. Еще различия проиллюстрированы в NOT-Batch файл ниже (я назвал его BATCH.TXT):
@echo off
rem Echo off just suppress echoing of the prompt and each loop of FOR command
rem but it does NOT suppress the listing of these commands!
rem Pause command does NOT pause, because it takes the character that follows it
pause
X
rem This behavior allows to put data for a SET /P command after it
set /P var=Enter data:
This is the data for previous command!
echo Data read: "%var%"
rem Complex FOR/IF commands may be assembled and they execute in the usual way:
for /L %i in (1,1,5) do (
set /P line=
if "!line:~0,6!" equ "SHOW: " echo Line read: !line:~6!
)
NOSHOW: First line read
SHOW: Second line
NOSHOW: This is third line
SHOW: The line number 4
NOSHOW: Final line, number five
rem You may suppress the tracing of the execution redirecting CMD output to NUL
rem In this case, redirect output to STDERR to display messages in the screen
echo This is a message redirected to STDERR >&2
rem GOTO command doesn't work:
goto label
goto :EOF
rem but both EXIT and EXIT /B commands works:
exit /B
:label
echo Never reach this point...
Чтобы выполнить предыдущий файл, введите: CMD/V: ON требуется < BATCH.TXT переключатель/V для обеспечения возможности отсроченного расширения.
Более специализированные различия связаны с тем, что команды в файле NOT-Batch выполняются в контексте командной строки , а не в контексте Batch-файла. Возможно, Дэйв или Джеб могли бы разобраться в этом вопросе.
EDIT:Дополнительные замечания (batch2.txt):
@echo off
rem You may force SET /P command to read the line from keyboard instead of
rem from following lines by redirecting its input to CON device.
rem You may also use CON device to force commands output to console (screen),
rem this is easier to write and read than >&2
echo Standard input/output operations> CON
echo/> CON
< CON set /P var=Enter value: > CON
echo/> CON
echo The value read is: "%var%"> CON
Execute предыдущий файл следующим образом: CMD < BATCH2.TXT> NUL
EDIT: Более дополнительные наблюдения (batch3.txt)
@echo off
rem Dynamic access to variables that usually requires DelayedExpansion via "call" trick
rem Read the next four lines; "next" means placed after the FOR command
rem (this may be used to simulate a Unix "here doc")
for /L %i in (1,1,4) do (
set /P line[%i]=
)
Line one of immediate data
This is second line
The third one
And the fourth and last one...
(
echo Show the elements of the array read:
echo/
for /L %i in (1,1,4) do call echo Line %i- %line[%i]%
) > CON
Выполнить этот файл обычным способом: CMD < BATCH3.TXT> NUL
Интересно! Не так ли?
EDIT: Теперь команды GOTO и CALL могут быть смоделированы в файле NotBatch.txt !!! См. this post.
Антонио
Это может быть возможно, да, но, вероятно, ни в легком пути =) вызывает в первую очередь .. безопасность. Я пытаюсь сделать то же самое год назад, а месяц назад, но я не нашел решения об этом.Вы можете попробовать сделать
execu.cmd
type toLaunch.txt >> bin.cmd
call bin.cmd
pause > nul
exit
затем в toLaunch.txt поставил
@echo off
echo Hello!
pause > nul
exit
так же, как, например, это будет "компилировать" код, то он будет выполнять " output ", то есть просто« разобрать »
вместо проанализированного вы также можете просто переименовать использование и, возможно, поместить авто переименование внутри скрипта, используя внутри toLaunch.txt
ren %0 %0.txt
надеюсь, что это поможет!
в моем случае, чтобы сделать окна с файлами без расширения (только для * .cmd, * .exe), я пропустил переменную pathext (в системе varailbles), чтобы включить .cmd. После добавления у меня больше нечего запускать file.cmd, чем просто файл.
Переменные среды -> Добавить/изменить систему переменной включить .CMD; .exe (конечно ваш файл должен быть в пути)
- 1. запустить R-скрипт из .bat (пакетный файл)
- 2. Невозможно запустить скрипт bat с опциями
- 3. Закрытие файла pdf через пакетный скрипт (.bat)
- 4. Запустить пакетный скрипт перед отладкой
- 5. пакетный скрипт не работает из файла .bat
- 6. Запустить пакетный скрипт из Центра качества
- 7. Запустить php-скрипт с использованием .bat каждые X раз
- 8. Как запустить пакетный скрипт в течение 2 часов
- 9. Как запустить скрипт без расширения?
- 10. Как отложить пакетный скрипт
- 11. Как запустить скрипт при загрузке страницы с использованием расширения Chrome
- 12. Как запустить PHP скрипт из окон .bat
- 13. WMIC: Запустить пакетный скрипт удаленно
- 14. Как зашифровать пакетный скрипт?
- 15. Как запустить пакетный скрипт после перезагрузки?
- 16. Запустить пакетный скрипт с пути сервера в perl
- 17. Как запустить пакетный скрипт из пакетного скрипта?
- 18. Как запустить пакетный скрипт через javascript?
- 19. Пакетный скрипт, удаляющийся сам
- 20. Как запустить rexx с использованием пакетного сценария Windows (файл .bat)
- 21. BAT-скрипт, как писать?
- 22. Пакетный скрипт с Javaw
- 23. пакетный скрипт для переименования части расширения файла
- 24. Планировщик заданий с использованием C# (Чтобы запланировать файл .bat (пакетный))
- 25. как запустить скрипт powershell и пакетный скрипт в пакетном скрипте?
- 26. Невозможно запустить .bat скрипт под Windows 7
- 27. Пакетный скрипт с использованием результата теста winrar
- 28. Пакетный сценарий: я хочу запустить пакетный скрипт после команды печати
- 29. пакетный эквивалент расширения unix-параметров с котировками
- 30. Запустить внешний скрипт или bat-скрипт из потока мула?
Ну, вы могли бы переименовать его в '.cmd' файл ... –
Сценарий должен иметь расширение (.BAT или .CMD), чтобы Windows знала, что это пакетный скрипт. Я не думаю, что можно определить собственное расширение, которое приравнивается к пакетному файлу, а также не может дать указание Windows использовать любой файл в виде пакетного сценария на лету. – dbenham
@dbenham no bro, я не тестировал, я отвечаю через мой телефон. Но я считаю, что раньше у меня появились расширения .batch. Но я googled и нашел, что я ошибаюсь. Спасибо, что исправил меня. –