4

我认为这是一个简单的批处理编程问题,但经过大量搜索,我找不到答案。

我试图弄清楚如何引用名称包含困难字符的文件。

似乎双引号具有按字面处理大多数封闭字符的效果。例如,对于名为 ^^.txt 的文件,dir "^^.txt" 会找到该文件,而 dir ^^.txt 不会。

但是,我不知道如何逃避 %. 例如,对于名为 %ERRORLEVEL%.txt 的文件,这些都找不到该文件:

目录“%ERRORLEVEL%.txt”
目录“%%ERRORLEVEL%%.txt”
目录“^%ERRORLEVEL^%.txt”

任何建议,将不胜感激。

4

3 回答 3

5

Windows 命令提示符的转义字符是^. 它在没有引号的情况下工作。

dir ^%errorlevel^%.txt

对于您的其他示例^^.txt,请使用:

dir ^^^^.txt
于 2013-05-26T00:06:15.180 回答
1

始终避免在文件名中使用 % 和 ^。在全局文件管理器中将 % 重命名为“百分比”。

They are next to impossible to handle properly in many batch commands.
于 2013-05-26T04:37:19.753 回答
0

In a batch script you must double the %, eg.:

@echo off 
dir %%errorlevel%%.txt

Btw. you should not use cmd default variable or command names for other things (errorlevel).

于 2013-05-26T00:17:32.340 回答