如何在 CMD 中添加 IF 语句

如何在 CMD 中添加 IF 语句

使用我的 .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%"

答案1

Microsoft DOS if 命令或者

要测试参数是否存在,请使用空括号,如下所示

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

答案2

IF [条件] [命令]

  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 dhcpscript.bat 14 25)的第一个和第二个参数,并将 IP 分别设置为 DHCP 或 192.168.[14].[25] - %1 和 %2

注意:我从来没有在批处理脚本中嵌套 IF 的好运气,如果需要嵌套,我通常会像函数一样调用另一个批处理,或者使用 VBS。

答案3

我会使用双引号并使用%~1(不带双引号):

if "%~1"=="value" (echo True) else (echo False)

相关内容