实施例
ipconfig /all
ipconfig -a
或
ipconfig /a
答案 0 :(得分:3)
这是一个简单的例子,可以用上面的答案。
@echo off
if /i "%~1"=="-a" ipconfig /all
if /i "%~1"=="/a" ipconfig /all
(不要调用批处理文件ipconfig.bat - 永远不要使用批处理文件的系统命令名称):
答案 1 :(得分:2)
Cmd.exe提供批处理参数扩展变量%0到 %9。在批处理文件中使用批处理参数时,%0将替换为 批处理文件名,%1到%9替换为 您在命令行键入的相应参数。访问 超出%9的参数,您需要使用shift命令。更多 有关shift命令的信息,请参阅Shift%* batch参数 是对所有参数的通配符引用,不包括%0 传递给批处理文件。
例如,要将内容从Folder1复制到Folder2,其中%1是 替换为值Folder1,%2由值Folder2替换, 在名为Mybatch.bat的批处理文件中键入以下内容:
xcopy %1\*.* %2
要运行该文件,请键入:
mybatch.bat C:\ folder1 D:\ folder2
使用记事本创建批处理文件mytest.cmd
并添加以下内容
rem start parsing out first parameter indicated with %1
set parm1=%1
set arg1=%parm1:~2%
if "%arg1%"=="a" echo A was the parameter
现在,arg1将从您的示例中保留a
而不使用 - 或/
如果你运行mytest -a,你会看到A was the parameter
如果你运行mytest -b你将看不到任何东西......
(事实上你看到cmd文件中的每一个命令都很方便调试,尝试在mytest.cmd的第一行添加@echo以消除噪音)
尝试使用cmd提示set /?
,if /?
,for /?
或call /?
了解有关可用命令的详情。