С моим сценарием .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%"

2 ответа2

2

Смотрите Microsoft DOS, если команда или это.

Чтобы проверить наличие параметра, используйте пустые скобки, как это

IF [%fileLocation%]==[] ECHO Value Missing
0

ЕСЛИ [условие] [команда]

  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 соответственно

Примечание: мне никогда не везло, если вложенные IF в пакетном скрипте, я обычно вызываю другой пакет, например, функцию, если мне нужно сделать вложение или использовать VBS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .