如何在cmd中使用当前壁纸的位置

时间:2017-05-18 13:53:13

标签: batch-file variables cmd pipe

我想将当前设置为壁纸的图像复制到另一个位置。我可以看到使用: 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)`

一般情况下,如果我能以某种方式管道这样做会好得多,所以我不需要使用变量。我该怎么做?

1 个答案:

答案 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可能包含空格,因此可能是谨慎的,这取决于您管道设置的要求,用双引号括起来。