用批处理全盘搜索某文件夹后删除里面所有文件,并从其他电脑上粘贴文件进去

huangxi79 2009-03-15 10:31:28
关于批处理的问题,我不知道发在哪里,请版主手下留情;
请教各位高手,我电脑里面有个文件夹Address,具体安装位置也许是D:\Program Files\Foxmail\Address,也也许是c:\Program Files\Foxmail\Address,现在我要用批处理程序找到Address,并把里面所有文件删除掉,然后,从另外一台电脑上共享的Address里面的所有文件粘贴到我电脑上的Address文件夹,下面是我写的代码,但运行效果不好,经常提示"无效驱动器规格"和"系统找不到驱动器指定的路径"
@echo off
::写入注册表,每次开机运行次程序
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v aaa /t REG_SZ /d %0 /f
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul (
del /q /f /s "%%a:\Progra~1\foxmail\Address"
xcopy \\188.18.8.12\Address\*.* %%a:\Progra~1\foxmail\Address/s/y
)

)

pause>nul
...全文
671 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
happymyt 2009-03-16
  • 打赏
  • 举报
回复
批处理高中的时候接触过一些简单命令
之后就没接触了
学习下咯
huangxi79 2009-03-15
  • 打赏
  • 举报
回复
哦,好的
测试通过 谢谢
ljc007 2009-03-15
  • 打赏
  • 举报
回复
[code=BatchFile]@echo off
set DriveAll=
for /f %%a in ('"wmic logicaldisk where DriveType="3" get DeviceID|find /v "DeviceID""') do (
call set DriveAll=%%DriveAll%% %%a
)
::写入注册表,每次开机运行次程序
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v aaa /t REG_SZ /d %0 /f
for %%a in (%DriveAll%) do (
if exist %%a\ (
echo del /q /f /s "%%a:\Progra~1\foxmail\Address"
echo xcopy \\188.18.8.12\Address\*.* %%a:\Progra~1\foxmail\Address/s/y
)
)
pause>nul[/code]
thoughter 2009-03-15
  • 打赏
  • 举报
回复
if exist %%a:\nul改成
if exist "%%a:\Progra~1\foxmail\Address"
?
huangxi79 2009-03-15
  • 打赏
  • 举报
回复
程序是没有问题了,问题是程序运行到后面,出了个提示匡"驱动器中没有软盘,请在驱动器H:中插入软盘."
是不是把"for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
" 里面的H去掉啊?
ljc007 2009-03-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thoughter 的回复:]
if exist %%a:\nul改成
if exist "%%a:\Progra~1\foxmail\Address"
?
[/Quote]
这样写是有bug的,因为它无法判断"%%a:\Progra~1\foxmail\Address"是文件还是文件夹。
应该写成:
[code=BatchFile]if exist "%%a:\Progra~1\foxmail\Address\"[/code]

6,180

社区成员

发帖
与我相关
我的任务
社区描述
windows网络管理与配置
社区管理员
  • 网络管理与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧