无忧启动论坛

标题: 【已解决】修改bat(复制文件到桌面)。谢谢 [打印本页]

作者: yyz2191958    时间: 2023-7-5 15:33
标题: 【已解决】修改bat(复制文件到桌面)。谢谢
本帖最后由 yyz2191958 于 2023-7-12 19:24 编辑

问题解决:
(for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s^|find "Desktop"') do @echo;%%c)>#.txt
for /f %%a in (#.txt) do XCOPY /y "%~dp0png\*.ico"  "%%a\"

***************************************************************
更加优秀代码:
for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s^|find "Desktop"') do call XCOPY /y "%~dp0png\*.ico"  "%%c\"
****************************************************
原来的问题:
已有代码:for /f %%a in (#.txt) do XCOPY /y "%~dp0png\*.ico"  "%%a\"
其中:
#.txt内容为:D:\桌面\Desktop——————这种情况成功
#.txt内容为:%USERPROFILE%\Desktop — 这种情况不成功
上面是同一电脑的不同系统
************************************************************
#.txt是读取注册表里面桌面路径生成的:
(for /f "tokens=1-2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /s^|find "Desktop"') do @echo;%%c)>#.txt
************************************************************
怎样才能够使两种情况都成功?谢谢








作者: batche    时间: 2023-7-5 16:17
这应该是变量嵌套问题,可以在xcopy前面加call。你是怎么解决的没看懂
作者: conlin888    时间: 2023-7-5 16:22
for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s^|find "Desktop"') do call XCOPY /y "%~dp0png\*.ico"  "%%c\"

作者: yyz2191958    时间: 2023-7-5 16:30
conlin888 发表于 2023-7-5 16:22
for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion ...

谢谢
作者: conlin888    时间: 2023-7-5 17:02
yyz2191958 发表于 2023-7-5 16:30
谢谢

使用万能的PECMD最简单,

pecmd.exe "file 路径\*.ico=>%%desktop%%"
作者: yyz2191958    时间: 2023-7-5 17:04
conlin888 发表于 2023-7-5 17:02
使用万能的PECMD最简单,

pecmd.exe "file 路径\*.ico=>%%desktop%%"

我试一试 谢谢
作者: yyz2191958    时间: 2023-7-5 17:07
conlin888 发表于 2023-7-5 16:22
for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion ...

很好  很简洁 非常感谢
作者: 9zhmke    时间: 2023-7-5 17:30
不要弄这些复制,直接把两个桌面映射下用同一个就可以了
作者: yyz2191958    时间: 2023-7-5 18:36
9zhmke 发表于 2023-7-5 17:30
不要弄这些复制,直接把两个桌面映射下用同一个就可以了

不是很明白哦
作者: yyz2191958    时间: 2023-7-5 19:42
batche 发表于 2023-7-5 16:17
这应该是变量嵌套问题,可以在xcopy前面加call。你是怎么解决的没看懂

(for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s^|find "Desktop"') do @echo;%%c)>#.txt-----是绝对路径
作者: 9zhmke    时间: 2023-7-5 21:16
yyz2191958 发表于 2023-7-5 18:36
不是很明白哦

我想表的是,用同一个文件夹做桌面,比如我的桌面就改成:D:\我的文档\系统设置\桌面,哪套系统都用这个,就不用复制过来复制过去了
作者: yyz2191958    时间: 2023-7-5 21:42
9zhmke 发表于 2023-7-5 21:16
我想表的是,用同一个文件夹做桌面,比如我的桌面就改成:D:\我的文档\系统设置\桌面,哪套系统都用这个 ...

我的正常系统————自定义
PE—————————没有办法




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3