[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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:
1

评分人数

    • zm900612: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
1

评分人数

    • zm900612: 请把代码放在[code][/code]内PB -2

TOP

以上代码应该可以了吧?

TOP

  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. )
复制代码
1

评分人数

TOP

本帖最后由 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
1

评分人数

    • Batcher: 请编辑自己的帖子,把代码放到code标签里面 ...PB -2

TOP

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

以上是最终方法。

看来用for循环的话,难以解决。

TOP

多谢楼上。

TOP

本帖最后由 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
复制代码
1

评分人数

    • Batcher: 请编辑自己的帖子,把代码放到code标签里面 ...PB -2

TOP

活用 "公文包" 功能。
以上很简单。

TOP

楼主真是“屡劝不改”!
***共同提高***

TOP

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


不懂,能指教下马?谢谢

TOP

返回列表