我试图从包含字符串"空"的网络服务中下载文件。或者是其他东西。如果"为空",我想删除该文件,否则应移动并重命名。
为实现这一目标,我使用wget.exe下载文件,这非常有效。
这就是我所拥有的:
wget "myurl.com/webservice" -O output.txt
@echo off
set /p Build=<output.txt
if %Build% == "empty" (ECHO "EMPTY")
PAUSE
测试场景:一个名为output.txt的文件,其中String为空。
如何修改和阅读内容?使用set / p不起作用。
提前谢谢你。 最好
答案 0 :(得分:2)
@echo off
for /f "delims=" %%a in (output.txt) do echo("%%a"
应该准确地显示文件中包含的内容(假设它是一行 - 如果有多行,这将显示所有非空行...)但 { {1}}。
此字符串必须与比较它的字符串完全匹配,因此
"contained in quotes"
请注意,可能会出现杂散空格,不清楚是否正在使用引号来分隔文件中包含的文字字符串,并且在那里&#39; sa case-mismatch then {{ 1}}是必需的(/ i是&#34;不区分大小写的&#34;开关)
答案 1 :(得分:1)
您似乎在问两件不同的事情。如果你要做的只是移动一行读取empty
的文件,你可以使用findstr
。成功时,删除该文件。失败后,移动它。
wget "myurl.com/webservice" -O output.txt
@echo off
findstr /i "^empty$" output.txt >NUL && (
del output.txt
) || (
move output.txt "path\to\file.txt"
)
如果您想在移动之前操作output.txt的内容,我们需要有关您想要更改的内容的更多详细信息。如果你想逐行阅读output.txt的内容,Magoo建议for /f
循环是最好的方法。