[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理无法复制桌面、我的文档、收藏夹三个路径下的所有文件到指定目录是什么原因

本帖最后由 pcl_test 于 2016-7-15 09:37 编辑
  1. for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do ( set desk=%%j )
  2. echo 桌面路径是%desk%
  3. xcopy "%desk%"\*.* "D:\MARK请~1\Desktop\" /s /h
  4. pause >nul
  5. @echo off
  6. REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders">%Temp%\Temp.txt
  7. FOR /F "TOKENS=2* DELIMS= " %%I IN ('TYPE %Temp%\Temp.txt^|FINDSTR /I "Personal"') DO ( SET "Personal=%%~J" )
  8. del %Temp%\Temp.txt
  9. echo 我的文档的路径是: "%Personal%"
  10. xcopy "%Personal%"*.* "D:\MARK请~1\Docume~1\" /s /h
  11. pause >nul
  12. for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites"') do ( set Fav=%%j )
  13. echo 收藏夹路径是%Fav%
  14. xcopy "%Fav%"*.* "D:\MARK请~1\Favori~1\" /s /h
  15. pause >nul
  16. @echo off
  17. @ D:\Todisk.reg
  18. @echo off
  19. @ D:\ClientSetup.exe
复制代码
1

评分人数

本帖最后由 pcl_test 于 2016-7-15 10:59 编辑

回复 1# q260461
  1. @echo off
  2. REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders">%Temp%\Temp.txt
  3. FOR /F "TOKENS=2* DELIMS= " %%I IN ('TYPE %Temp%\Temp.txt^|FINDSTR /I "Personal"') DO (call SET "Personal=%%~J")
  4. FOR /F "TOKENS=2*" %%I IN ('TYPE %Temp%\Temp.txt^|FINDSTR /I "Personal"') DO (call SET "Personal=%%~J")
  5. del %Temp%\Temp.txt
  6. echo 我的文档路径是%Personal%
  7. pause >nul
复制代码
xp、win7 32、win7 64系统测试通过。

TOP

第1行,变量值后面不要带空格:
... do ( set "desk=%%j" )
第7行,REG_EXPAND_SZ 类型数据用call set 解开:
... DO ( call SET "Personal=%%~J" )
第10行,少一个\
... "%Personal%\"*.*
第12、14行一样

TOP

回复 3# q260461


我的Win7 SP1 64位企业版未见异常,不知你用的什么系统。

C:\>cd /d %USERPROFILE%\Documents

C:\Users\GNU\Documents>dir /b
Custom Office Templates
Fax
My Received Files
Scanned Documents

TOP

回复 2# GNU

%userprofile%\documents 这个是不是我的文档的路径,为什么

xcopy "%userprofile%\documents\"*.* "D:\MARK请~1\Docume~1\" /s /e这一条实现不了呢

TOP

有什么报错信息吗?
执行结果和你的预期具体有哪些差距?

TOP

返回列表