Batch file 将单个数字写入文本文件

Batch file 将单个数字写入文本文件,batch-file,Batch File,我有这个密码 rem Saved in D:\Temp\WriteText.bat @echo off @echo -ATTEDIT> ATTEDITChangeName.txt @echo y>> ATTEDITChangeName.txt @echo 36x24bdr>> ATTEDITChangeName.txt @echo SUBTITLE>> ATTEDITChangeName.txt @echo B209 11.5 TON BRIDGE EL

我有这个密码

rem Saved in D:\Temp\WriteText.bat
@echo off
@echo -ATTEDIT> ATTEDITChangeName.txt
@echo y>> ATTEDITChangeName.txt
@echo 36x24bdr>> ATTEDITChangeName.txt
@echo SUBTITLE>> ATTEDITChangeName.txt
@echo B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2>> ATTEDITChangeName.txt
@echo 612.9014,43.8533>> ATTEDITChangeName.txt
@echo 618.5063,35.8628>> ATTEDITChangeName.txt
@echo 109.9409,-6.7209>> ATTEDITChangeName.txt
@echo.>> ATTEDITChangeName.txt
@echo v>> ATTEDITChangeName.txt
@echo c>> ATTEDITChangeName.txt
@echo B209>> ATTEDITChangeName.txt
@echo B211>> ATTEDITChangeName.txt
@echo Next>> ATTEDITChangeName.txt

pause
创建文本文件并用文本填充它的。问题在于,拟写入文本“B209 11.5吨桥梁电气布局1和2”的行未写入。相反,它会反馈到屏幕上

有关屏幕截图,请参阅链接

我们尽可能地解决了这个问题,发现t只有当数字是个位数并且前后都只有一个空格时才会发生his

例如:

  • “1a”将起作用

  • “11”将起作用

  • “1.会有用的

  • “1”不起作用


这是逐字阅读“1和2”文本的要求。我们能做些什么来实现这一目标

而不是指定每条回音在每行上的位置
(即
@echo-ATTEDIT>ATTEDITChangeName.txt
),使用这种块形式的方法。它将解决您一直存在的问题,并稍微清理您的代码

@echo off

> ATTEDITChangeName.txt (
@echo -ATTEDIT
@echo y
@echo 36x24bdr
@echo SUBTITLE
@echo B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2
@echo 612.9014,43.8533
@echo 618.5063,35.8628
@echo 109.9409,-6.7209
@echo.
@echo v
@echo c
@echo B209
@echo B211
@echo Next
)    
pause
使用
>ATTEDITChangeName.txt
(正如我在示例中所做的那样)将覆盖文件的当前内容,并将其替换为()中的内容。如果您希望简单地向文件添加文本,请使用
>ATTEDITChangeName.txt


虽然我不确定为什么会出现此问题,但上面的代码格式将解决您的问题,并将所有文本打印到文本文件。

而不是指定每行上的每个回显的位置
(即
@echo-ATTEDIT>ATTEDITChangeName.txt
),使用这种块形式的方法。它将解决您一直存在的问题,并稍微清理您的代码

@echo off

> ATTEDITChangeName.txt (
@echo -ATTEDIT
@echo y
@echo 36x24bdr
@echo SUBTITLE
@echo B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2
@echo 612.9014,43.8533
@echo 618.5063,35.8628
@echo 109.9409,-6.7209
@echo.
@echo v
@echo c
@echo B209
@echo B211
@echo Next
)    
pause
使用
>ATTEDITChangeName.txt
(正如我在示例中所做的那样)将覆盖文件的当前内容,并将其替换为()中的内容。如果您希望简单地向文件添加文本,请使用
>ATTEDITChangeName.txt


虽然我不确定为什么会出现此问题,但上面的代码格式将解决您的问题,并将所有文本打印到文本文件。

而不是指定每行上的每个回显的位置
(即
@echo-ATTEDIT>ATTEDITChangeName.txt
),使用这种块形式的方法。它将解决您一直存在的问题,并稍微清理您的代码

@echo off

> ATTEDITChangeName.txt (
@echo -ATTEDIT
@echo y
@echo 36x24bdr
@echo SUBTITLE
@echo B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2
@echo 612.9014,43.8533
@echo 618.5063,35.8628
@echo 109.9409,-6.7209
@echo.
@echo v
@echo c
@echo B209
@echo B211
@echo Next
)    
pause
使用
>ATTEDITChangeName.txt
(正如我在示例中所做的那样)将覆盖文件的当前内容,并将其替换为()中的内容。如果您希望简单地向文件添加文本,请使用
>ATTEDITChangeName.txt


虽然我不确定为什么会出现此问题,但上面的代码格式将解决您的问题,并将所有文本打印到文本文件。

而不是指定每行上的每个回显的位置
(即
@echo-ATTEDIT>ATTEDITChangeName.txt
),使用这种块形式的方法。它将解决您一直存在的问题,并稍微清理您的代码

@echo off

> ATTEDITChangeName.txt (
@echo -ATTEDIT
@echo y
@echo 36x24bdr
@echo SUBTITLE
@echo B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2
@echo 612.9014,43.8533
@echo 618.5063,35.8628
@echo 109.9409,-6.7209
@echo.
@echo v
@echo c
@echo B209
@echo B211
@echo Next
)    
pause
使用
>ATTEDITChangeName.txt
(正如我在示例中所做的那样)将覆盖文件的当前内容,并将其替换为()中的内容。如果您希望简单地向文件添加文本,请使用
>ATTEDITChangeName.txt


虽然我不确定为什么会出现此问题,但上述代码格式将解决您的问题,并将所有文本打印到文本文件。

术语
2>
表示Windows将重定向StdErr输出。要避免这种情况,请将重定向移动到命令前面,如下所示:

echo>>ATTEDITChangeName.txt B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2

我同意,当你第一次这样使用它的时候,它看起来有点奇怪,但它是有效的。

术语
2>
意味着Windows将重定向StdErr输出。要避免这种情况,请将重定向移动到命令前面,如下所示:

echo>>ATTEDITChangeName.txt B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2

我同意,当你第一次这样使用它的时候,它看起来有点奇怪,但它是有效的。

术语
2>
意味着Windows将重定向StdErr输出。要避免这种情况,请将重定向移动到命令前面,如下所示:

echo>>ATTEDITChangeName.txt B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2

我同意,当你第一次这样使用它的时候,它看起来有点奇怪,但它是有效的。

术语
2>
意味着Windows将重定向StdErr输出。要避免这种情况,请将重定向移动到命令前面,如下所示:

echo>>ATTEDITChangeName.txt B209 11.5 TON BRIDGE ELEC LAYOUT 1 ^& 2

我同意,当你第一次这样使用它的时候,它看起来有点奇怪,但它是有效的。

所以我在网络上做了一些探索,找出它为什么会这样做。虽然我不明白,@echo B209 11.5吨桥梁电气布局1^&^2>>ATTEDITChangeName.txt有效。只是一个提醒,其他人也有类似的问题。另外,谢谢你清理了我的代码!一旦我让它工作起来,我几乎每次都会回去把它清理干净。我不知道。然而,你的回答并不能解释OP的代码有什么问题。如果你看这个链接,我相信他们比我们更接近于回答这个问题,我仍然不明白,所以我在网络上做了一些尝试,找出它为什么会这样做。虽然我不明白,@echo B209 11.5吨桥梁电气布局1^&^2>>ATTEDITChangeName.txt有效。只是一个提醒,其他人也有类似的问题。另外,谢谢你清理了我的代码!一旦我让它工作起来,我几乎每次都会回去把它清理干净。我不知道。然而,你的回答并不能解释OP的代码有什么问题。如果你看这个链接,我相信他们比我们更接近于回答这个问题,我仍然不明白,所以我在网络上做了一些尝试,找出它为什么会这样做。虽然我不明白,@echo B209 11.5吨桥梁电气布局1^&^2>>ATTEDITChangeName.txt有效。只是一个提醒,其他人也有类似的问题。另外,谢谢你清理了我的代码!一旦我让它工作起来,我几乎每次都会回去把它清理干净。我不知道。然而,你的回答并不能解释OP的代码到底出了什么问题。如果你看这个链接,我相信他们比我们更接近于回答这个问题,而我