Это звучит почти так, как будто вам нужен файл, содержащий команды, которые вы хотите запустить, и использовать пакетный скрипт для вызова этих команд, когда хотите?
Я реализовал это, создав пакетный файл, который содержит все команды (фрагменты кода), которые я считаю полезными, и затем использовал мои другие пакетные сценарии для вызова этого «основного» файла для моих фрагментов.
Например, в моем файле MASTER_BAT.BAT
пример фрагмента для создания дат в другом формате для использования выглядит следующим образом:
GOTO:%~1
:GET_CURRENT_DATE
:: Created: 1/19/2012
:: Creates variables for the date format in different forms.
:: No additional arguments required
SET DISABLED=0
IF [%DISABLED%] == [1] GOTO:EOF
:: Created: 11/30/11
:: Creates date formats.
Set mdy=%date:~4,2%-%date:~7,2%-%date:~12,4%
Set mdY=%date:~4,2%-%date:~7,2%-%date:~10,4%
Set Dmdy=%date:~0,4%%date:~4,2%-%date:~7,2%-%date:~12,4%
Set DmdY=%date:~0,4%%date:~4,2%-%date:~7,2%-%date:~10,4%
Set ymd=%date:~12,4%-%date:~4,2%-%date:~7,2%
Set ymd=%date:~10,4%-%date:~4,2%-%date:~7,2%
GOTO:EOF
И в моем CHILD_BAT.BAT
я хочу использовать этот фрагмент для создания форматов даты ... допустим, я хочу сделать так, чтобы я мог вызывать дату по текущей дате в формате мм / дд / гг:
CALL MASTER_BAT.BAT "GET_CURRENT_DATE"
ECHO %mdy%
PAUSE
Ваш вывод для CHILD_BAT.BAT
будет:
1-23-12
Press any key to continue...
Кроме того, любые переменные, созданные в CHILD_BAT.BAT
до команды CALL
, также будут переданы в сценарий MASTER_BAT.BAT
. Однако для взаимодействия цикла, включающего CALL
, не будет передана временная переменная цикла for.
Надеюсь, это полезно.
РЕДАКТИРОВАТЬ: обратите внимание, что мой фрагмент можно использовать для формата даты США.