忽略批处理文件中的百分号

忽略批处理文件中的百分号

我有一个批处理文件,将文件从一个文件夹移动到另一个文件夹 批处理文件由另一个进程生成。

我需要移动的一些文件中包含字符串“%20”:

move /y "\\myserver\myfolder\file%20name.txt" "\\myserver\otherfolder"

这会失败,因为它试图找到一个名称为的文件:

\\myserver\myfolder\file0name.txt

有什么办法可以忽略%吗?我无法改变生成的文件以逃避这种情况,例如加倍百分号(%%),逃避/^(插入符号)等。


隔江千里
浏览 817回答 3
3回答

湖上湖

 无论哪种方式:它%本身就是逃逸%,但只在批处理文件中,而不是在命令提示符下; ^ 永远不会逃脱%,但在命令提示符下,它可以间接地用于防止变量扩展,仅用于不带引号的字符串。原因%2是消失的是批处理文件替换了传入的第二个参数,并且您似乎没有第二个参数。解决这个问题的一种方法是实际尝试,foo.bat ^%1 ^%2...以便%2在命令中遇到a时,它实际上用文字替换%2。
打开App,查看更多内容
随时随地看视频慕课网APP