Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file %%~在Windows批处理文件中做什么?_Batch File - Fatal编程技术网

Batch file %%~在Windows批处理文件中做什么?

Batch file %%~在Windows批处理文件中做什么?,batch-file,Batch File,在我继承并必须编辑的Windows批处理文件中,有一行(为了可读性,我正在简化): 它将D:\Data中的XML文件复制到当前文件夹的子目录 我的问题是,%%~m对%%m不会做的事情有什么影响?这个问题已经在@Stephan、@rojo、@Magoo的评论中得到了回答 此处总结,因此问题标记为已回答: %%~m中的~字符从变量m中删除周围的引号 如果文件名包含空格,则可以在整个路径名周围加引号,例如: if exist "D:\Data\%%~m" copy "D:\Data\%%~m" sub

在我继承并必须编辑的Windows批处理文件中,有一行(为了可读性,我正在简化):

它将
D:\Data
中的XML文件复制到当前文件夹的
子目录


我的问题是,
%%~m
%%m
不会做的事情有什么影响?

这个问题已经在@Stephan、@rojo、@Magoo的评论中得到了回答

此处总结,因此问题标记为已回答:

%%~m
中的
~
字符从变量
m
中删除周围的引号

如果文件名包含空格,则可以在整个路径名周围加引号,例如:

if exist "D:\Data\%%~m" copy "D:\Data\%%~m" subdir

您可以从
获取/?
了解这些替换。变量替换可以包含其他操作,例如
%%~nm
%%~tm
来提取文件名或日期戳。

它删除任何周围的引号。请参见
获取/?
如果文件名有空格怎么办?然后使用
如果存在“D:\Data\%%~m”复制“D:\Data\%%~m”子目录
。无论路径或文件名是否包含空格,
%%~
的这种特殊用法会去掉引号,但通常取决于后面的字符<例如,code>%%~nm
将返回
%%m
名称
部分
%%~tm
文件的日期戳等。
if exist "D:\Data\%%~m" copy "D:\Data\%%~m" subdir