Windows 如何回显以数字结尾的字符串?
在Windows命令行中,我尝试将以下字符串写入文件:Windows 如何回显以数字结尾的字符串?,windows,cmd,echo,io-redirection,Windows,Cmd,Echo,Io Redirection,在Windows命令行中,我尝试将以下字符串写入文件: cloud 9 首先,我尝试echocloud9>file.txt。这只是打印到控制台,而不是文件,可能是由于9>的未定义性质 接下来我尝试echocloud9>file.txt。这将生成一个包含所需文本的文件cloud 9,但在行尾有一个尾随空格 我尝试了一系列其他的变化: echo cloud 91>file.txt生成cloud 91 echo cloud 9 1>file.txt生成带有尾随空格的cloud 9 echo“clou
cloud 9
首先,我尝试echocloud9>file.txt
。这只是打印到控制台,而不是文件,可能是由于9>
的未定义性质
接下来我尝试echocloud9>file.txt
。这将生成一个包含所需文本的文件cloud 9
,但在行尾有一个尾随空格
我尝试了一系列其他的变化:
echo cloud 91>file.txt
生成cloud 91
echo cloud 9 1>file.txt
生成带有尾随空格的cloud 9
echo“cloud 9”>file.txt
生成带有不需要的引号的“cloud 9”
有没有办法将
cloud 9
准确地回显到文件中,而不带尾随空格?I/O重定向不必在命令末尾。试一试
echo>file.txt cloud 9
或
其他可能的替代办法:
退出9
:
echo cloud ^9>file.txt
用括号括住文本:(注意,任何内部的右括号都需要转义)
我首选的方法是将部分放在命令前面:
“file.txt”回声云9
无论如何,您可以在变量中隐藏带有数字的回显文本。尽管考虑到即时变量扩展或百分比扩展(percent-(%
-)甚至在识别重定向表达式之前就已经发生,所以设置“CL=cloud 9”
,然后echo%CL%>“file.txt”
将不起作用。但还有其他一些方法:
cmd/V
运行命令提示符来启用它):
设置“CL=cloud 9”
回声!CL!>“file.txt”
或者在一行中:
设置“CL=cloud 9”&echo!CL!>“file.txt”
当文本字符串包含时,这可能会导致问题代码>和/或^
设置“CL=cloud 9”
cmd/V/C echo!CL!>“file.txt”
或者在一行中:
设置“CL=cloud 9”&cmd/V/C echo!CL!>“file.txt”
即使使用,这也会起作用出现在文本字符串中的代码>和/或^
如果已从一开始启用延迟扩展,cmd/V/C echo!CL代码>需要替换为cmd/V/C echo^^!CL^^代码>
设置“CL=cloud 9”
调用echo%^CL%>“file.txt”
或者在一行中:
设置“CL=cloud 9”&调用echo%^CL%>“file.txt”
当文本字符串包含^
时,这可能会导致问题。实际上,这取决于没有定义变量^CL
对于“云9”中的%I执行@echo%~I>“file.txt”
当文本字符串包含*
、?
或
时,这可能会导致问题顺便说一句,您可能想用
echo替换echo文本(Text
,因为这是在Text
未知甚至可能为空时回送任意文本的唯一安全方法。如果您在之前执行echo%CL%>foo
和set CL=…
操作,它是否有效?也许插入符号也有帮助(echo cloud 9)>“file.txt”
或“file.txt”Echo cloud 9是我的建议!在这两个建议中,我倾向于前者,但请记住,您需要对“要Echo的字符串”中的任何右括号进行转义,以防止它过早地关闭块,即^)
@Marged,很遗憾,您的建议无法起作用,因为%
-扩展甚至在识别重定向操作符之前就发生了;您需要调用echo%^CL%>file.txt
,或者echo!CL!>file.txt
(启用时),或者调用“%cloud 9”中的%I执行@echo%~I>file.txt
,所有这些都是为了获得更高一层的扩展。。。
echo cloud ^9>file.txt
(echo cloud 9) > file.txt