batch-file - 如何通过 stext 命令一次又一次地写入同一个文件
问题描述
运行时我有一个批处理文件名view.bat
start Example.exe /stext Example.text
file 中的命令.bat
,它所做的是创建一个文件 *Example.text
但是当我再次运行它时,以前的数据会丢失在现有文件中,我如何在现有文件中附加新数据。
解决方案
问题很可能是关于ChromePass的版权,正如Compo在他的评论中所假设的那样,它是Nir Sofer的版权。
ChromePass无法选择将密码数据附加到现有文件,而不是始终创建一个新文件,并覆盖当前最新版本 1.50 中已经存在的文件上的现有内容。我最好联系 NirSoft并要求增强以添加一个选项,例如/a
将密码数据附加到命令行上指定的现有文件中。
但也有一个简单的解决方案,view.bat
通过更改命令行
start Example.exe /stext Example.text
至
"ChromePass.exe" /stext "new.tmp"
if exist "new.tmp" (
if exist "Example.text" (
copy /B "Example.text" + "new.tmp" "Example.text" >nul
del "new.tmp"
) else ren "new.tmp" "Example.text"
)
该命令start
不是必需的,在这种情况下会适得其反。
要了解使用的命令及其工作原理,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读每个命令显示的所有帮助页面。
copy /?
del /?
if /?
ren /?
另请参阅有关使用命令重定向运算符的Microsoft 文章,了解>nul
.
推荐阅读
- c++ - boost::gil::resize_view 在创建迭代器时出现段错误
- c# - 这怎么可能是同一个sql连接?
- swift - 快速查找字符串的最后一个索引
- sql - Redshift - 聚合函数调用可能没有嵌套聚合或窗口函数
- cmake - Qt Creator:无法重命名文件
- ruby-on-rails - Capistrano + Digital Ocean + Rails:发生未处理的低级错误。应用程序日志可能包含详细信息
- java - Spring Boot 拒绝获取应用程序测试属性
- java - 用于更好的内存分配的 StringBuilder 替代方案
- prometheus - 用于分布式累积批处理作业的 Prometheus 仪表
- javascript - 反应语法不起作用