【发布时间】:2017-05-18 13:53:13
【问题描述】:
我想将当前设置为墙纸的图像复制到另一个位置。我可以看到使用:
REG QUERY "HKCU\Software\Microsoft\Internet Explorer\Desktop\General" /v WallpaperSource 为我提供了图像位置的信息,但是如何通过管道传输并使用该位置?
我试过set %foo=REG QUERY "HKCU\Software\Microsoft\Internet Explorer\Desktop\General" /v WallpaperSource把它保存为变量。我不明白我做错了什么(我是批处理新手,非常习惯于 unix)。
我可以看到他们是如何迭代部分输出字符串 here 虽然我得到 %%A was unexpected at this time. 的原因:
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY "HKCU\Software\Microsoft\Internet Explorer\Desktop\General" /v WallpaperSource`) Do (@echo %%A : %%C)`
一般来说,如果我能以某种方式通过管道传输它会更好,这样我就不需要使用变量了。我该怎么做?
【问题讨论】:
-
您的
set %foo=REG...是一个 bash 构造,无法批量处理(但在 powershell 中)。在批处理文件中使用for /f时可以使用 - 在 cmdline 上,for vars 必须仅使用一个百分号。您要将结果传送到哪个命令?
标签: batch-file variables cmd pipe