问:

用bat新建文本文档时名字总是不对

答:
在批处理文件(bat文件)中使用一系列命令新建文本文档时,文件名总是不对的原因有以下几个:
1. 没有使用引号 surround 文件名:如果文件名包含空格或特殊字符,需要使用双引号" "将文件名 surround起来。否则批处理文件会将空格或特殊字符之后的部分认为是其他参数,导致文件名出错。
例如:
echo.>test file.txt   # 错误,会创建test 和 file.txt两个文件
echo.>"test file.txt" # 正确,使用引号,创建test file.txt文件
2. 没有转义特殊字符:像 & 、> 、< 等特殊字符也需要转义,否则会被批处理文件解释为控制字符,影响文件名。
例如:
echo.>test&file.txt    # 错误,会创建test 和 file.txt两个文件
echo.>"test^&file.txt" # 正确,使用^转义&字符
3. 忘记从当前目录开始创建文件:如果直接使用文件名而没指定路径,批处理文件会假定文件名为相对路径,从运行批处理文件的目录开始查找,这通常不是需要的结果。使用 .\ 表示从当前目录开始。
例如:
echo.>test.txt       # 错误,文件会在运行bat的目录下创建
echo.>.\\test.txt   # 正确,使用.\明确表示从当前目录开始
4. 重定向符号>被解释为控制字符:>本意是重定向输出,但在文件名中使用>就会被解释为控制字符,需要转义。
例如:
echo.>te>st.txt   # 错误,会创建te和st.txt两个文件
echo.>te^>st.txt # 正确,使用^>转义>
综上,在批处理文件中新建文本文档要注意:使用引号surround文件名;转义特殊字符;使用 .\ 明确指定从当前目录开始;转义重定向符号>。遵循这些规则就可以成功新建正确的文件名了。