С моим .cmd сценарием все, что я делаю, создает новый файл, устанавливая местоположение для файла, называя его и добавляет расширение. Мне нужен один последний бит для окончания этого.
Если ничто не вводится в fileLocation затем, я хочу, чтобы он был местом на рабочем столе. Как я могу сделать это?
@echo off
@echo --- Create A New File ---
@echo -
@echo Choose File Desination.
set /p fileLocation=@
@echo -
@echo What do you want to call your new file?
set /p fileName=@
@echo -
@echo Almost Done! What is the files extension?
set /p extension=@
echo -
copy NUL "%fileLocation%/%fileName%.%extension%"
Посмотрите Microsoft DOS если команда или это.
Для тестирования на существование параметра используют пустые скобки как это
IF [%fileLocation%]==[] ECHO Value Missing
ЕСЛИ [условие] [команда]
if %1==dhcp (
netsh int ip set address name="Local Area Connection" source=dhcp
netsh int ip set dns "Local Area Connection" dhcp
) else (
netsh int ip set address name="Local Area Connection" source=static 192.168.%1.%2 255.255.255.0 192.168.%1.1 1
netsh int ip set dns "Local Area Connection" static 192.168.%1.1
)
Это будет взятый, первые и вторые параметры передали файлу сценария (script.bat dhcp
или script.bat 14 25
) и набор IP или к DHCP или к 192.168. [14]. [25] - %1 и %2 соответственно
Примечание: У меня никогда не было вложения удачи IFS в рамках сценария пакетной обработки, я обычно буду называть другой пакет как функция, если я должен сделать вложение или использовать VBS.