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

【分享】批处理版用户资料转移(个性定义)

本程序只有一个文件,在xp系统使用
可以把用户资料复制到按用户定义的新目录,
并且修改注册表指向新目录,
因为支持个性定义,所以操作时要小心和三思

=================

支持拖拽,单项定义。

选定主目录后,

再输入编号,可继续修改单项定义

单项定义时,单项可恢复到 原来目录b 或 新目录r
  1. @echo off&setlocal enabledelayedexpansion
  2. if "%~1" equ "" goto :ag
  3. for %%a in ("%~1") do set user=%%~dpna\
  4. if exist "%user%\." goto :ok
  5. :ag
  6. set /p dec=输入要转移到目录:
  7. if not defined dec goto :ag
  8. for %%a in ("!dec!\") do set user=%%~dpa
  9. if not exist "!user!." (
  10. echo 目录不存在,要新建吗?
  11. set /p in=输入y确认,或n重新输入,其它退出。
  12. if /i "!in!" equ "y" goto :md
  13. if /i "!in!" equ "n" goto :ag
  14. goto :eof
  15. )
  16. goto :ok
  17. :md
  18. md "!user!"
  19. if errorlevel 1 (
  20. echo 目录格式错误,请重新运行本程序。
  21. pause
  22. goto :eof
  23. )
  24. :ok
  25. set Tab=        &rem 这里请改为Tab键
  26. set "@Cache=共享文档"
  27. set "@Desktop=桌面"
  28. set "@Favorites=常用资料"
  29. set "@Personal=我的文档"
  30. set "@My Music=音乐"
  31. set "@My Pictures=图片"
  32. set "@my Video=视频"
  33. set "@Recent=打开记录"
  34. set "@Cookies=Cookise数据"
  35. set "@Store Root=电子邮件"
  36. set "@Download Directory=下载目录"
  37. set "@History=历史记录"
  38. set "@Temp=临时文件"
  39. ::需要保存的项定义
  40. set n=0
  41. for /f "tokens=1,2* delims=%Tab%" %%a in ('echo;Temp!Tab!.!Tab!%temp%^&^
  42. reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s^&^
  43. reg query "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /s^&^
  44. reg query "HKEY_CURRENT_USER\Identities\{F4E98C86-4D9A-463F-920C-1DF555C3B434}\Software\Microsoft\Outlook Express\5.0" /s') do (
  45. for /f "tokens=*" %%d in ("%%a") do (
  46.   set v=@%%d
  47.   if defined !v! set/a n+=1&set "@!@%%d!=%%c"&set "!@%%d!=!user!%%~nxc"&set @!n!=!@%%d!&set !v!=
  48. )
  49. )
  50. :chone
  51. cls
  52. echo; 原资料目录情况:
  53. for /l %%a in (1,1,!n!) do for %%b in ("!@%%a!") do echo;%%a:%%~b:!@%%~b!
  54. echo;
  55. echo; 将转换!user!为主目录如下:
  56. for /l %%a in (1,1,!n!) do for %%b in ("!@%%a!") do echo;%%a:%%~b:!%%~b!
  57. set y=
  58. echo;
  59. echo;非常重要,请三思!确定吗?
  60. set /p in=输入y确认(如果子目录不存在会自动建立),或n修改目录,输入相应数字修改其中一项,其它键退出。请输入:
  61. if /i "!in!" equ "y" goto :zh
  62. if /i "!in!" equ "n" goto :ag
  63. if defined @!in! (
  64. for %%a in (!@%in%!) do (
  65. echo;%%a=!%%a!
  66. echo;B 恢复原来目录;R恢复新目录;
  67. set/p %%a=或者改为:
  68. if /i "!%%a!" equ "b" set %%a=!@%%a!
  69. if /i "!%%a!" equ "r" for %%b in ("!@%%a!") do set %%a=!user!%%~nxb
  70. goto :chone
  71. )
  72. )
  73. goto :eof
  74. :zh
  75. for /l %%a in (1,1,!n!) do for %%b in ("!@%%a!") do (
  76. if exist "!@%%~b!" xcopy "!@%%~b!" "!%%~b!" /i /q /h /r /y 2>nul
  77. set %%~b=!%%~b:\=\\!
  78. )
  79. (for /f "skip=70 tokens=1* delims=:" %%a in ('findstr /n .* "%~f0"') do (
  80. if "%%b" equ "REGEDIT4" set y=y
  81. if defined y echo;%%b
  82. ))>"%temp%\%~n0.reg"
  83. regedit.exe /s "%temp%\%~n0.reg"
  84. del /q "%temp%\%~n0.reg"
  85. echo 转换完成,重启后生效。
  86. pause
  87. goto :eof
  88. REGEDIT4
  89. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
  90. "Cache"="!共享文档!"
  91. "Desktop"="!桌面!"
  92. "Favorites"="!常用资料!"
  93. "Personal"="!我的文档!"
  94. "My Music"="!音乐!"
  95. "My Pictures"="!图片!"
  96. "My Video"="!视频!"
  97. "Recent"="!打开记录!"
  98. "History"="!历史记录!"
  99. "Cookies"="!Cookies数据!"
  100. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
  101. "Cache"="!共享文档!"
  102. "Desktop"="!桌面!"
  103. "Favorites"="!常用资料!"
  104. "Personal"="!我的文档!"
  105. "My Music"="!音乐!"
  106. "My Pictures"="!图片!"
  107. "My Video"="!视频!"
  108. "Recent"="!打开记录!"
  109. "History"="!历史记录!"
  110. "Cookies"="!Cookies数据!"
  111. [HKEY_CURRENT_USER\Identities\{F4E98C86-4D9A-463F-920C-1DF555C3B434}\Software\Microsoft\Outlook Express\5.0]
  112. "Store Root"="!电子邮件!"
  113. [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
  114. "Desktop"="!桌面!"
  115. "Cache"="!共享文档!"
  116. "Download Directory"="!下载目录!"
  117. [HKEY_CURRENT_USER\Environment]
  118. "TEMP"="!临时文件!"
  119. "TMP"="!临时文件!"
复制代码

[ 本帖最后由 netbenton 于 2009-10-16 18:08 编辑 ]

这个很有用,以前装完系统都要去改,曾经也想写一个
现在全部用GHOST,很久没装系统,也不用修改这个了

TOP

返回列表