Batch file %%~在Windows批处理文件中做什么?
在我继承并必须编辑的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
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