我想将当前设置为壁纸的图像复制到另一个位置。我可以看到使用:
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)`
一般情况下,如果我能以某种方式管道这样做会好得多,所以我不需要使用变量。我该怎么做?
答案 0 :(得分:0)
以下命令行从注册表中获取数据并将其传递到Find
命令:
For /F "EOL=H Tokens=2*" %A In ('REG QUERY "HKCU\Software\Microsoft\Internet Explorer\Desktop\General" /v WallpaperSource') Do @Echo %~B|Find ":"
只需将Find
命令更改为您要将路径传递给的任何内容。另请注意,数据%~B
可能包含空格,因此可能是谨慎的,这取决于您管道设置的要求,用双引号括起来。