我需要将密码附加到文件中(我将密码存储在另一个文件中)。所以基本上我将循环通过文件并检查字段SYS_PASSWD = 我需要将密码附加到此字段。有没有办法使用dos脚本?我应该使用什么选项?一个例子会有所帮助。 感谢
答案 0 :(得分:1)
@ECHO OFF
SETLOCAL
:: Get password from file "q24730439.txt"
FOR /f "delims=" %%a IN (q24730439.txt) DO SET "syspasswd=%%a"
:: insert password into appropriate place in "24730439q.txt"
:: creating newfile.txt
(
FOR /f "delims=" %%a IN (24730439q.txt) DO (
IF "%%a"=="SYS_PASSWD=" (ECHO %%a%syspasswd%) ELSE (ECHO %%a)
)
)>newfile.txt
GOTO :EOF
此过程会将q24730439.txt
中的密码附加到SYS_PASSWD=
中的24730439q.txt
行,生成newfile.txt
"delims="
通过将分隔符设置为空来关闭分隔符。因此,整行被分配给元变量%%a
您只是说have password stored in another file
- 以所示方式设置变量将从文件q24730439.txt
中读取密码。你没有给出如何获取密码的其他说明,我也无法读懂你的想法。
通常的做法是创建新文件,以便可以调试解决方案。以同样的方式,delete
或rename
通常只是echo
而不是被执行,因此如果开发人员的系统和OP&#39不会造成任何损害; s系统不同。所有需要做的就是删除echo
以激活重命名/删除 - 但在验证将生成正确的指令序列之后,该步骤是最后一步。
在您的情况下,创建新文件允许
fc newfile.txt 24730439q.txt
执行以查看差异。
一旦您确认结果是正确的,那就简单了
move /y newfile.txt 24730439q.txt >nul 2>nul
使用new覆盖旧文件。此命令可以在goto :eof
之前插入 - 但只有在验证过程的正确操作之后才会插入。