Board logo

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

作者: 天堂的伪装    时间: 2011-8-26 15:12     标题: 【已解决】如何判断文件夹里的文件是否存在,如不存在,要如何指向其他文件夹进行复制

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

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

“备份”与“备份1”指定复制里面的151.zip
如果备份里无指定复制对象,要如何把命令指向备份1进行复制到当前文件夹?
作者: lovealei    时间: 2011-8-26 15:36

  1. if exist not 备份 else copy 备份1
复制代码
是不是要这样的思路!
作者: 天堂的伪装    时间: 2011-8-26 15:39

回复 2# lovealei


   要的是判断文件夹里面的文件是否存在,如果“备份”里无指定的文件对象,就把命令转到复制“备份1”里的指定文件
作者: heyoug    时间: 2011-8-26 15:41

@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
作者: cjiabing    时间: 2011-8-26 15:43

本帖最后由 cjiabing 于 2011-8-26 15:44 编辑
  1. for /r %%a in (指定文件) do if exist %%a (copy /s "%%~dpa" "%~dp0")
复制代码

作者: 天堂的伪装    时间: 2011-8-26 15:48

回复 5# cjiabing


    可以加以说明一下吗?我是新手,看不懂呵呵。。。
麻烦了
作者: xudaweb    时间: 2011-8-26 15:51

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

作者: 天堂的伪装    时间: 2011-8-26 15:57

回复 4# heyoug


    如果2个文件夹都没有指定的文件的话要如何返回显示“没有指定文件”
作者: cjiabing    时间: 2011-8-26 15:58

回复 6# 天堂的伪装


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

作者: 天堂的伪装    时间: 2011-8-26 16:00

回复 9# cjiabing


    嗯。
如果2个文件夹都没有指定文件的话,要如何使批处理显示“没有指定文件”
作者: lvsehuaxue    时间: 2011-8-26 16:04

回复 5# cjiabing
参数 /s 是不是 /y
作者: cjiabing    时间: 2011-8-26 16:04

回复 10# 天堂的伪装


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

    代码没试过,不懂错与对。如果你什么都不懂就去学习,如果你纯粹是伸手要代码的请说明。
作者: cjiabing    时间: 2011-8-26 16:06

回复 11# lvsehuaxue


    s为什么是y?在cmd窗口输入 “xcopy/?” 查看帮助信息。说实在的,我很少用xcopy,但你们常问。
作者: lvsehuaxue    时间: 2011-8-26 16:11

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





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