【问题标题】:How to use the location of current wallpaper in cmd如何在cmd中使用当前壁纸的位置
【发布时间】: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)`

一般来说,如果我能以某种方式通过管道传输它会更好,这样我就不需要使用变量了。我该怎么做?

【问题讨论】:

标签: batch-file variables cmd pipe


【解决方案1】:

以下命令行从注册表中提取数据并将其通过管道传输到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 可能包含空格,因此根据您将其输送到的任何内容的要求,可以谨慎地将其用双引号括起来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多