...不成功是什么原因?需要做什么修改,请各位达人帮忙看下
发布网友
发布时间:2024-10-24 15:14
我来回答
共2个回答
热心网友
时间:2024-11-08 04:56
首先,copy命令下的路径最好用双引号(英文状态下)括住,还有就是桌面的路径,不一定全是 "%userprofile%\桌面\" 的。(%userprofile%指当前用户的配置文件目录,%userprofile%对应路径
"C:\Documents and Settings\用户名" .... (xp)
"C:\Users\用户名" .....................................(win7)
桌面路径可能是:"%userprofile%\desktop\" 或者根本就不在C盘,有的ghost版会设置在d盘上
除非你直接知道你电脑桌面的绝对路径。
综上所诉,你的批处理可修改为:
-------------------------------------------------------------------------------------------------------------------
@echo off
::直接读取注册表找到桌面路径
for /f "tokens=5,6 delims=. " %%i in ('ver') do if %%i%%j==51 (
for /f "skip=4 tokens=3 delims= " %%i in ('reg QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\USER Shell Folders" /V "Desktop"') do call set zm=%%i
) else (
for /f "skip=2 tokens=3 delims= " %%i in ('reg QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\USER Shell Folders" /V "Desktop"') do call set zm=%%i
)
::这里是为防止XP SP1 SP2用户桌面路径显示不全
if %zm:~-1,1%==桌 set zm=%zm:桌=桌面%
echo 正在备份当前桌面word文件,请稍等......
if exist "e:\桌面备份\%username%\" rd "e:\桌面备份\%username%\"
md "e:\桌面备份\%username%\"
echo 建立备份目录成功
copy "%zm%\*.doc" "e:\桌面备份\%username%\"
echo 备份文件成功
dir e:\桌面备份\%username%\*.doc /w
echo. & pause
---------------------------------------------------------------------------------------------------------------
稍微复杂了点,如果直接知道你的桌面路径就简单多了,试过,可以实现你要的功能
不明白可以继续追问
热心网友
时间:2024-11-08 04:56
路径中有空格要用双引号括起来。比如
"e:\桌面备份\%username%\"