我要写一个批处理文件BAT,会把一个文件夹复制到我的文档下,怎么写?
,我的文档的路径每台电脑都可能会不一样,要怎样找到我的文档路径?HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV...
, 我的文档的路径 每台电脑都可能会不一样,要怎样找到我的文档路径?HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
里面的Personal就是“我的文档”路径,这是我查出来的 ,我的文档的注册表位置 展开
里面的Personal就是“我的文档”路径,这是我查出来的 ,我的文档的注册表位置 展开
5个回答
展开全部
注册表查询的话有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%"
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%"
展开全部
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给出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文件,启动後,将要拷贝的文件夹拖进窗口即可完成拷贝:
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文件,启动後,将要拷贝的文件夹拖进窗口即可完成拷贝:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@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"
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"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询