Board logo

标题: [文件操作] [已解决]批处理怎样判断指定目录/文件夹是否存在,如果存在就执行代码? [打印本页]

作者: ygqiang    时间: 2011-6-8 08:38     标题: [已解决]批处理怎样判断指定目录/文件夹是否存在,如果存在就执行代码?

本帖最后由 pcl_test 于 2016-9-27 13:22 编辑

批处理判断某个目录是否存在,如果存在就执行代码。如何实现?

1、如果存在d:\0beifen\udisk,就执行代码1(里面有很多批处理命令)
2、如果存在e:\0beifen\udisk,就执行代码2(里面有很多批处理命令)
3、如果存在f:\0beifen\udisk,就执行代码3(里面有很多批处理命令)

就这3个判断条件,要求全部判断一遍,然后根据情况,执行相应的代码。代码都是类似的,只是相应的盘符改成d:  e:  f:
作者: ygqiang    时间: 2011-6-8 09:31

本帖最后由 ygqiang 于 2011-6-8 09:52 编辑

set PWD=%~sdp0

if exist "d:\0beifen\udisk" 00-00robocopy %PWD% "D:\0beifen\udisk\sd4g" /mir
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\sd4g\00-00copy-c.BAT"
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\sd4g\00-00robocopy.exe"
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\sd4g\00-00robocopy.rar"
if exist "d:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "D:\0beifen\udisk\sd4g\u-2G" /mir
if exist "d:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "D:\0beifen\udisk\u4g\u-2G" /mir

if exist "e:\0beifen\udisk" 00-00robocopy %PWD% "e:\0beifen\udisk\sd4g" /mir
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\sd4g\00-00copy-c.BAT"
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\sd4g\00-00robocopy.exe"
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\sd4g\00-00robocopy.rar"
if exist "e:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "e:\0beifen\udisk\sd4g\u-2G" /mir
if exist "e:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "e:\0beifen\udisk\u4g\u-2G" /mir

if exist "f:\0beifen\udisk" 00-00robocopy %PWD% "f:\0beifen\udisk\sd4g" /mir
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\sd4g\00-00copy-c.BAT"
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\sd4g\00-00robocopy.exe"
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\sd4g\00-00robocopy.rar"
if exist "f:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "f:\0beifen\udisk\sd4g\u-2G" /mir
if exist "f:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "f:\0beifen\udisk\u4g\u-2G" /mir

exit
作者: ygqiang    时间: 2011-6-8 09:32

以上代码应该可以了吧?
作者: hucuibai    时间: 2011-6-8 10:06

  1. set PWD=%~sdp0
  2. for %%a in (d e f) do (
  3.     if exist "%%a:\0beifen\udisk" 00-00robocopy %PWD% "%%a:\0beifen\udisk\sd4g" /mir
  4.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\sd4g\00-00copy-c.BAT"
  5.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\sd4g\00-00robocopy.exe"
  6.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\sd4g\00-00robocopy.rar"
  7.     if exist "%%a:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "%%a:\0beifen\udisk\sd4g\u-2G" /mir
  8.     if exist "%%a:\0beifen\udisk" 00-00robocopy %PWD%\u-2G "%%a:\0beifen\udisk\u4g\u-2G" /mir
  9. )
复制代码

作者: ygqiang    时间: 2011-6-8 10:14

本帖最后由 ygqiang 于 2011-6-8 10:15 编辑

u盘1备份代码:

set PWD=%~sdp0

if exist "d:\0beifen\udisk" 00-00robocopy %PWD% "D:\0beifen\udisk\sd4g" /mir
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\sd4g\00-00copy-c.BAT"
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\sd4g\00-00robocopy.exe"
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\sd4g\00-00robocopy.rar"
if exist "d:\0beifen\udisk" 00-00robocopy "D:\0beifen\udisk\sd4g\u-2G" "D:\0beifen\udisk\u4g\u-2G" /mir

if exist "e:\0beifen\udisk" 00-00robocopy %PWD% "e:\0beifen\udisk\sd4g" /mir
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\sd4g\00-00copy-c.BAT"
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\sd4g\00-00robocopy.exe"
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\sd4g\00-00robocopy.rar"
if exist "e:\0beifen\udisk" 00-00robocopy "e:\0beifen\udisk\sd4g\u-2G" "e:\0beifen\udisk\u4g\u-2G" /mir

if exist "f:\0beifen\udisk" 00-00robocopy %PWD% "f:\0beifen\udisk\sd4g" /mir
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\sd4g\00-00copy-c.BAT"
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\sd4g\00-00robocopy.exe"
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\sd4g\00-00robocopy.rar"
if exist "f:\0beifen\udisk" 00-00robocopy "f:\0beifen\udisk\sd4g\u-2G" "f:\0beifen\udisk\u4g\u-2G" /mir

exit






u盘2备份代码:

set PWD=%~sdp0

if exist "d:\0beifen\udisk" 00-00robocopy %PWD% "D:\0beifen\udisk\u4g" /mir
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\u4g\00-00copy-c.BAT"
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\u4g\00-00robocopy.exe"
if exist "d:\0beifen\udisk" del /f /q "D:\0beifen\udisk\u4g\00-00robocopy.rar"
if exist "d:\0beifen\udisk" 00-00robocopy "D:\0beifen\udisk\u4g\u-2G" "D:\0beifen\udisk\sd4g\u-2G" /mir

if exist "e:\0beifen\udisk" 00-00robocopy %PWD% "e:\0beifen\udisk\u4g" /mir
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\u4g\00-00copy-c.BAT"
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\u4g\00-00robocopy.exe"
if exist "e:\0beifen\udisk" del /f /q "e:\0beifen\udisk\u4g\00-00robocopy.rar"
if exist "e:\0beifen\udisk" 00-00robocopy "e:\0beifen\udisk\u4g\u-2G" "e:\0beifen\udisk\sd4g\u-2G" /mir

if exist "f:\0beifen\udisk" 00-00robocopy %PWD% "f:\0beifen\udisk\u4g" /mir
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\u4g\00-00copy-c.BAT"
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\u4g\00-00robocopy.exe"
if exist "f:\0beifen\udisk" del /f /q "f:\0beifen\udisk\u4g\00-00robocopy.rar"
if exist "f:\0beifen\udisk" 00-00robocopy "f:\0beifen\udisk\u4g\u-2G" "f:\0beifen\udisk\sd4g\u-2G" /mir

exit
作者: ygqiang    时间: 2011-6-8 10:14

本帖最后由 ygqiang 于 2011-6-8 10:15 编辑

以上是最终方法。

看来用for循环的话,难以解决。
作者: ygqiang    时间: 2011-6-8 10:16

多谢楼上。
作者: ygqiang    时间: 2011-6-8 10:25

本帖最后由 ygqiang 于 2011-6-8 19:24 编辑

u盘1备份代码:
  1. set PWD=%~sdp0
  2. for %%a in (d e f g h i j k) do (
  3.     if exist "%%a:\0beifen\udisk" 00-00robocopy %PWD% "%%a:\0beifen\udisk\sd4g" /mir
  4.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\sd4g\00-00copy-c.BAT"
  5.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\sd4g\00-00robocopy.exe"
  6.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\sd4g\00-00robocopy.rar"
  7.     if exist "%%a:\0beifen\udisk" 00-00robocopy "%%a:\0beifen\udisk\sd4g\u-2G" "%%a:\0beifen\udisk\u4g\u-2G" /mir
  8. )
  9. exit
复制代码
u盘2备份代码:
  1. set PWD=%~sdp0
  2. for %%a in (d e f g h i j k) do (
  3.     if exist "%%a:\0beifen\udisk" 00-00robocopy %PWD% "%%a:\0beifen\udisk\u4g" /mir
  4.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\u4g\00-00copy-c.BAT"
  5.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\u4g\00-00robocopy.exe"
  6.     if exist "%%a:\0beifen\udisk" del /f /q "%%a:\0beifen\udisk\u4g\00-00robocopy.rar"
  7.     if exist "%%a:\0beifen\udisk" 00-00robocopy "%%a:\0beifen\udisk\u4g\u-2G" "%%a:\0beifen\udisk\sd4g\u-2G" /mir
  8. )
  9. exit
复制代码

作者: caruko    时间: 2011-6-8 11:41

活用 "公文包" 功能。
以上很简单。
作者: batman    时间: 2011-6-8 12:38

楼主真是“屡劝不改”!
作者: ygqiang    时间: 2011-6-8 19:25

活用 "公文包" 功能。
以上很简单。
caruko 发表于 2011-6-8 11:41


不懂,能指教下马?谢谢




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2