搜索

...不成功是什么原因?需要做什么修改,请各位达人帮忙看下

发布网友 发布时间: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%\"
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top