dos中的参数/参数

时间:2014-03-09 15:10:08

标签: batch-file

我用Google搜索,我找不到有关dos中参数的任何有用且清晰的信息(带有“%”的命令)。有人可以解释dos中的参数和参数,以及如何使用%~f1,%~d1,%~f1等命令。

以下是我无法理解的代码示例。

@ECHO OFF
ECHO full path %~f1
ECHO disc %~d1
ECHO extension %~x1
ECHO disc and directory %~dp1
ECHO file name and extension %~nx1
pause

当我打开这个.bat文件时,没有任何内容代替%~f1和所有其他“%”,只是回显文本。

1 个答案:

答案 0 :(得分:1)

1中的%~f1是在命令行中提供给程序的第一个参数。因此,如果您正在运行批处理文件myBatch,并向其传递C:\Users\bliny\Desktop\textFile.txt的第一个参数,则输出将如下所示:

myBatch C:\Users\bliny\Desktop\textFile.txt
full path C:\Users\bliny\Desktop\textFile.txt
disc C:
extension .txt
disc and directory C:\Users\bliny\Desktop
file name and extension textFile.txt

单独运行myBatch将不会产生任何输出,因为没有提供参数。

来自Microsoft's documentation

批处理参数:

  

您可以在批处理文件中的任何位置使用批处理参数来提取   有关您的环境设置的信息。 Cmd.exe提供了   批处理参数扩展变量%0到%9。当您使用批处理时   批处理文件中的参数,%0由批处理文件名替换,和   %1到%9将替换为您的相应参数   在命令行输入。

关于修饰符:

  

您还可以将修饰符与批处理参数一起使用。修饰符使用   当前驱动器和目录信息以扩展批处理参数   作为部分或完整的文件或目录名称。要使用修饰符,   键入百分号(%)后跟一个波浪号(〜)字符,和   然后输入适当的修饰符(即%〜修饰符)。