如何使用批处理将单个空格键写入txt文件

ABA*_*UNT 5 batch-file echo

我需要在批量文本文件中添加一个空格键

然而以下的剂量工作

ECHO  >C:\txt.txt
Run Code Online (Sandbox Code Playgroud)

这产生了文本Echo是(关闭)而不是???

正在批量播放Windows

Nic*_*ung 6

echo正在打印文本"ECHO if off",因为您没有提供任何参数.如果键入echo /?使用说明,您将看到此行为已定义:"键入不带参数的ECHO以显示当前回波设置".因此,在您的情况下,echo设置为off.

如果你想拥有没有换行符和回车符的空格字符,你很可能需要使用set.如果您使用的是Windows XP,这应该很简单.

Windows XP

>txt.txt ( <nul set /p "= " ) 
Run Code Online (Sandbox Code Playgroud)

如果你运行Vista或更高版本,它会有点棘手,因为windows会在set命令上删除前导空格.

Windows Vista或更高版本

您需要创建一个退格符,然后打印:

:: Create a backspace character
for /f %%A in ('"prompt $H &echo on &for %%B in (1) do rem"') do set BS=%%A

<nul set /p=%BS% > txt.txt
Run Code Online (Sandbox Code Playgroud)

请注意,这实际上不会打印空格,而是打印退格符.我不太确定这是否适合你,但我想不出更容易的方法.否则你可能最好使用其他脚本语言,比如python或powershell.

  • +1这是一个完整的XP示例:`> txt.txt(<nul set/p"=")`建议在等号和空格周围放置引号,以防止空间被某些文本编辑器修剪. (3认同)