我认为这是一个简单的批量编程问题,但经过多次搜索后,我找不到答案。
我正在试图弄清楚如何引用名称中包含困难字符的文件。
似乎双引号具有从字面上处理大多数封闭字符的效果。例如,对于名为^^。txt的文件,dir“^^。txt”将找到该文件,而dir ^^。txt则不会。
然而,我不知道如何逃避%。例如,对于名为%ERRORLEVEL%.txt的文件,这些文件都找不到该文件:
dir“%ERRORLEVEL%。txt”
dir“%% ERRORLEVEL %%。txt”
dir“^%ERRORLEVEL ^%。txt”
任何建议都将不胜感激。
答案 0 :(得分:5)
Windows命令提示符的转义字符为^
。它没有引号。
dir ^%errorlevel^%.txt
对于您的其他示例^^.txt
,请使用:
dir ^^^^.txt
答案 1 :(得分:1)
始终避免文件名中的%和^。在全局文件管理器中将%重命名为'percent'。
They are next to impossible to handle properly in many batch commands.
答案 2 :(得分:0)
在批处理脚本中,您必须将%
加倍,例如:
@echo off
dir %%errorlevel%%.txt
顺便说一下。你不应该使用cmd默认变量或命令名来做其他事情(errorlevel)。