Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 为什么使用命令:键入“;%文件名%”;失败_Batch File - Fatal编程技术网

Batch file 为什么使用命令:键入“;%文件名%”;失败

Batch file 为什么使用命令:键入“;%文件名%”;失败,batch-file,Batch File,命令 type “File Name with Spaces.txt” 工作 但是 或 失败 消息:系统找不到指定的文件 ? 应该有用。在这种情况下,set命令中实际上不需要引号。但是,当您在type命令中访问变量的内容时,它们很重要 编辑: 我回到了电脑前,在那里我可以再次测试东西@Squashman和@Mofi的主要观点是正确的,您应该使用双引号(“),并且说集“Fname=File Name&Spaces.txt”是一种合法的语法,并且通常是推荐的语法。但是,我还想提及主题的另一种可能变

命令

type “File Name with Spaces.txt”
工作

但是

失败

消息:
系统找不到指定的文件

?

应该有用。在这种情况下,set命令中实际上不需要引号。但是,当您在
type
命令中访问变量的内容时,它们很重要

编辑
我回到了电脑前,在那里我可以再次测试东西@Squashman和@Mofi的主要观点是正确的,您应该使用双引号(
),并且说
集“Fname=File Name&Spaces.txt”
是一种合法的语法,并且通常是推荐的语法。但是,我还想提及主题的另一种可能变体。如果您这样做

set Fname="File Name & Spaces.txt"
引号将成为存储变量的一部分:

echo %Fname%
> "File Name & Spaces.txt"
然后,可以发出引用包含空格和符号的文件名的
type
命令,而不使用引号:

type %Fname%
如果您想在不使用周围引号的情况下访问内容,您仍然可以这样做

echo %Fname:"=%
> File Name with Spaces.txt

(有关cmd中变量处理的更多详细信息,请参见
set/?

您似乎正在将
smart quotes
与文字处理器一起使用。请仅使用
并将代码保存为ASCII,而不是unicode。@Magoo如何注销?
退出
应退出
cmd
会话。抱歉,目前还没有电脑。我在安卓智能手机上回答。但到目前为止,像这样的set命令在很多情况下都对我有效。在set命令周围加引号没有什么错。它保护特殊的聊天角色,并且不会对使用它们造成伤害。请阅读语法
设置“Fname=File Name&Spaces.txt”的答案(直接引用)由于各种原因,强烈建议使用,如果文件名包含Windows命令行运算符(如
&
),则必须使用该运算符,该运算符应解释为文字字符,而不是运算符。
echo %Fname%
> "File Name & Spaces.txt"
type %Fname%
echo %Fname:"=%
> File Name with Spaces.txt