我要写一个批处理文件BAT,会把一个文件夹复制到我的文档下,怎么写?

,我的文档的路径每台电脑都可能会不一样,要怎样找到我的文档路径?HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV... , 我的文档的路径 每台电脑都可能会不一样,要怎样找到我的文档路径?HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
里面的Personal就是“我的文档”路径,这是我查出来的 ,我的文档的注册表位置
展开
 我来答
fastslz
2012-05-22 · TA获得超过938个赞
知道小有建树答主
回答量:561
采纳率:100%
帮助的人:911万
展开全部
注册表查询的话有2个键值的,一个是你所的位置,另一个在
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
所以2楼那样查询,通用性不强
@echo off
>tmp.vbs echo WScript.Echo CreateObject("Shell.Application").Namespace(^&H5^&).Self.Path
for /f "delims=" %%i in ('cscript.exe //nologo tmp.vbs') do set PersonalPath=%%i& del tmp.vbs
xcopy /e/r/h/y/c "你欲复制文件" "%PersonalPath%"
hnsz2k
2012-05-22 · TA获得超过1582个赞
知道大有可为答主
回答量:1360
采纳率:100%
帮助的人:1455万
展开全部
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders">%Temp%\Temp.txt
FOR /F "TOKENS=2* DELIMS= " %%I IN ('TYPE %Temp%\Temp.txt^|FINDSTR /I "Personal"') DO ( SET "Personal=%%~J" )
del %Temp%\Temp.txt
xcopy /i /y /s /c "你欲复制的文件夹" "%Personal%"
pause
追问
好像不行啊。。。。 运行以后在BAT的目录里面出现一个%%USERPROFILE%%,是哪里出错了??
追答
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders">%Temp%\Temp.txt
FOR /F "TOKENS=2* DELIMS= " %%I IN ('TYPE %Temp%\Temp.txt^|FINDSTR /I "Personal"') DO ( SET "Personal=%%~J" )
del %Temp%\Temp.txt
xcopy /i /y /s /c "你欲复制的文件夹" "%Personal%"
pause
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浮生难忆
2012-05-22 · TA获得超过920个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:690万
展开全部
给出2段代码,请根据需要选择:
1.================================
@echo off
for /f "tokens=3 delims= " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"^|FIND /i "Personal"') DO ( xcopy /i /y /s /c "目标文件夹" "%%i" )
pause

以上代码请根据实际目标文件夹地址修改,并保存为bat文件。
如:想把D盤下的test文件夹拷贝到我的文档,那麼目标文件夹就是 D:\test 。

2.=====================================
@echo off
set /p Folder=请拖入目标文件夹,然後回车:
for /f "tokens=3 delims= " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"^|FIND /i "Personal"') DO ( xcopy /i /y /s /c %Folder% "%%i" )
pause

以上代码保存为bat文件,启动後,将要拷贝的文件夹拖进窗口即可完成拷贝:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2012-05-22 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4906万
展开全部
@echo off
for /f "skip=2 tokens=2*" %%i in ('reg query "HKEY_CURRENT_USER\Software\Micr
osoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v personal') do set d=%%j
xcopy /s "d:\test" "%d%\test"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq745222749
2012-05-22
知道答主
回答量:12
采纳率:0%
帮助的人:4.6万
展开全部
修改后缀名为.bat
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式