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

[文件操作] 【已解决】如何判断文件夹里的文件是否存在,如不存在,要如何指向其他文件夹进行复制

本帖最后由 天堂的伪装 于 2011-8-26 16:06 编辑

我举个例子
当前文件夹里有2个文件夹分别为“备份”与“备份1”

“备份”与“备份1”指定复制里面的151.zip
如果备份里无指定复制对象,要如何把命令指向备份1进行复制到当前文件夹?
1

评分人数

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

  1. if exist not 备份 else copy 备份1
复制代码
是不是要这样的思路!
1

评分人数

    • CrLf: 乐于助人PB + 3

TOP

回复 2# lovealei


   要的是判断文件夹里面的文件是否存在,如果“备份”里无指定的文件对象,就把命令转到复制“备份1”里的指定文件
路人。。

TOP

@echo off
if exist 备份\aaa.txt copy /y 备份\aaa.txt  aaa.txt &&goto AA
if exist 备份1\aaa.txt copy /y 备份\aaa.txt  aaa.txt
:AA
EXIT
1

评分人数

TOP

本帖最后由 cjiabing 于 2011-8-26 15:44 编辑
  1. for /r %%a in (指定文件) do if exist %%a (copy /s "%%~dpa" "%~dp0")
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 5# cjiabing


    可以加以说明一下吗?我是新手,看不懂呵呵。。。
麻烦了
路人。。

TOP

  1. if not exist c:\备份\*.* copy c:\备份1\*.* c:\.
复制代码
1

评分人数

    • CrLf: 乐于助人PB + 3

TOP

回复 4# heyoug


    如果2个文件夹都没有指定的文件的话要如何返回显示“没有指定文件”
路人。。

TOP

回复 6# 天堂的伪装


    搜索当前所有目录,如果发现指定文件,则拷贝该文件夹内的的所有文件到当前目录。——不过看似有点问题,拷贝目录不如拷贝文件。
  1. for /r %%a in (指定文件) do if exist %%a (copy /s "%%~a" "%~dp0")
复制代码
1

评分人数

    • CrLf: 乐于助人PB + 5
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 9# cjiabing


    嗯。
如果2个文件夹都没有指定文件的话,要如何使批处理显示“没有指定文件”
路人。。

TOP

回复 5# cjiabing
参数 /s 是不是 /y

TOP

回复 10# 天堂的伪装


    晕死,这个都不会?
    for会吗?if会吗?你别说连echo都不会?
  1. for /r %%a in (指定文件) do if exist %%a (copy /s "%%~a" "%~dp0"&echo 发现文件并复制!~) else (echo %%a没有发现文件。)
复制代码

    代码没试过,不懂错与对。如果你什么都不懂就去学习,如果你纯粹是伸手要代码的请说明。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 11# lvsehuaxue


    s为什么是y?在cmd窗口输入 “xcopy/?” 查看帮助信息。说实在的,我很少用xcopy,但你们常问。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 lvsehuaxue 于 2011-8-26 16:13 编辑
  1. @echo off
  2. if exist "备份\151.zip" (copy /y "备份\151.zip" "%~dp0") else copy /y "备份1\151.zip" "%~dp0"
  3. pause
复制代码
1

评分人数

    • CrLf: 乐于助人PB + 5

TOP

返回列表