Batch file cmd,从txt写入和读取
我在玩弄cmd,想写一个小应用程序,它包含一个简单的功能,从txt文件中读取计数器,然后使用它,最后将计数器提高1Batch file cmd,从txt写入和读取,batch-file,cmd,Batch File,Cmd,我在玩弄cmd,想写一个小应用程序,它包含一个简单的功能,从txt文件中读取计数器,然后使用它,最后将计数器提高1 set /p x=<file.txt ... set /a y=x+1 echo %y%>file.txt set/px=file.txt 问题是它总是返回“ECHO ist eingeschaltet(ON)”,这表示由于某种原因,ECHO处于打开(ON)状态。有人能解释一下它是从哪里来的以及如何修复它吗?我不需要任何花哨的东西。我只想让它工作并知道我的错误在哪里
set /p x=<file.txt
...
set /a y=x+1
echo %y%>file.txt
set/px=file.txt
问题是它总是返回“ECHO ist eingeschaltet(ON)”,这表示由于某种原因,ECHO处于打开(ON)状态。有人能解释一下它是从哪里来的以及如何修复它吗?我不需要任何花哨的东西。我只想让它工作并知道我的错误在哪里。Echo on意味着批处理中执行的所有内容也会显示在控制台中。因此,您可以看到命令,并在下面的一行中看到结果。 您可以使用
echo off
命令或在要隐藏的命令前面加上@
符号来关闭此功能
所以
Echo on表示批处理中执行的所有内容也显示在控制台中。因此,您可以看到命令,并在下面的一行中看到结果。 您可以使用
echo off
命令或在要隐藏的命令前面加上@
符号来关闭此功能
所以
首先,我想向您展示
echo
命令行的外观:
> "file.txt" echo(%y%
这是您的原始代码行:
echo %y%>file.txt
出现意外输出的原因是ECHO处于打开状态。
/ECHO处于关闭状态。
是因为ECHO
命令没有接收到任何要回显的内容(键入并阅读帮助文本以了解打开
/关闭
的含义)。假设y
携带值2
,则行扩展为:
echo 2>file.txt
此处的数字2
不会被视为在此处回声,而是被重定向消耗;根据这篇文章,2>
构成了一个重定向操作符,告诉我们用句柄2
(STDERR)将流重定向到给定的文件。这样的手柄可以从0
到达9
有一些方法可以克服这个问题:
echo %y% >file.txt
缺点是空间成为回音文本的一部分echo
命令周围放置括号:
(echo %y%)>file.txt
>file.txt echo %y%
- 引用文件路径/名称,以避免在包含空格或其他特殊字符时出现问题李>
- 使用奇数语法
可以输出所有内容,甚至是空字符串或文本字符串,如echo(
、打开
和关闭
/?
> "file.txt" echo(%y%
提示:
若要查看实际情况,请不要双击批处理文件的图标来运行批处理文件;打开命令提示符窗口并键入其(带引号的)路径,这样该窗口将保持打开状态,显示所有命令回显和错误消息。此外,要调试批处理文件,请不要将
@echo关闭
(或者通过前面的rem
注释它,或者使用@echo on
)查看命令回音。首先,我想向您展示echo
命令行的外观:
> "file.txt" echo(%y%
这是您的原始代码行:
echo %y%>file.txt
出现意外输出的原因是ECHO处于打开状态。
/ECHO处于关闭状态。
是因为ECHO
命令没有接收到任何要回显的内容(键入并阅读帮助文本,了解开
/关
的含义)。假设y
带有值2
,则行扩展为:
echo 2>file.txt
此处的数字2
不会在此处回传,而是被重定向使用;根据文章,2>
构成重定向操作符,告诉使用句柄2
(STDERR)将流重定向到给定文件。这样的句柄可以从0
到达9
有一些方法可以克服这个问题:
echo %y% >file.txt
缺点是空间成为回音文本的一部分echo
命令周围放置括号:
(echo %y%)>file.txt
>file.txt echo %y%
- 引用文件路径/名称,以避免在包含空格或其他特殊字符时出现问题
- 使用奇数语法
可以输出所有内容,甚至是空字符串或文本字符串,如echo(
、打开
和关闭
/?
> "file.txt" echo(%y%
提示:
若要查看实际情况,请不要双击批处理文件的图标来运行批处理文件;打开命令提示符窗口并键入其(带引号的)路径,这样该窗口将保持打开状态,显示所有命令回显和错误消息。此外,要调试批处理文件,请不要将
@echo关闭
(或者通过前面的rem
注释掉它,或者使用@echo on
)查看命令回音。我想我知道了回音的作用,尽管应用程序速度太快,无法以任何方式查看控制台。命令在控制台中是否可见对我来说都无关紧要。我想知道为什么y设置为“echo已打开(打开)”而不是计数器+1我想我得到了echo的用途,尽管应用程序速度太快,无法以任何方式查看控制台。命令在控制台中是否可见对我来说都无关紧要。我想知道为什么y设置为“echo已打开(打开)”而不是柜台+1感谢的反馈。现在工作。不欢迎!请考虑这对您帮助最多的点击绿色支票