Board logo

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

作者: yyz219    时间: 2023-7-5 15:32     标题: 【已解决】求:修改bat(复制文件到桌面)。谢谢

本帖最后由 yyz219 于 2023-7-6 07:33 编辑

问题解决:
(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\"


***********************************************
原来的问题:
求:修改bat(复制文件到桌面)。谢谢
***************************************

已有代码: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
************************************************************
怎样才能够使两种情况都成功?谢谢
作者: yyz219    时间: 2023-7-5 16:05

问题解决:
(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\"
作者: Batcher    时间: 2023-7-5 16:26

回复 1# yyz219


试试1个for行不行:
  1. for /f "tokens=1-2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s ^| find "Desktop"') do xcopy /y "%~dp0png\*.ico" "%%c\"
复制代码

作者: yyz219    时间: 2023-7-5 17:17

回复  yyz219


试试1个for行不行:
Batcher 发表于 2023-7-5 16:26



    非常好  非常感谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2