Board logo

标题: [文件操作] 批处理如何将文件复制到指定文件的同级目录中的指定文件夹里? [打印本页]

作者: Mr.k    时间: 2016-1-1 16:57     标题: 批处理如何将文件复制到指定文件的同级目录中的指定文件夹里?

假设搜索的A.exe(不知道目录)和B文件夹都在C文件夹中
但是全盘直接搜索B文件夹或C文件夹搜索结果太多,唯独搜索A.exe只有一个结果
那么问题来了 如何把D.exe复制到和A.exe同级目录中的B文件夹中。
作者: aa77dd@163.com    时间: 2016-1-1 17:11

本帖最后由 aa77dd@163.com 于 2016-1-1 17:14 编辑
  1. for /f "delims=" %%a in ('dir /s /b /a-d \A.exe') do (
  2.     copy D.exe "%%~dpaB\D.exe"
  3. )
复制代码
回复 1# Mr.k
作者: aa77dd@163.com    时间: 2016-1-1 18:09

本帖最后由 aa77dd@163.com 于 2016-1-1 18:17 编辑

回复 3# Mr.k

全盘 搜索一个文件是需要时间的, 你没等代码运行完, 怎能说它没有用

另外, 我假定你所有相关的文件, 目录, 批处理文件 都是在同一个盘符下的, 比如 C: 盘, 否则你还需要小的修改以适应不同的盘符
作者: Mr.k    时间: 2016-1-1 18:16

回复 4# aa77dd@163.com


    我刚才加了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 (  这些代码也没用。。。
作者: aa77dd@163.com    时间: 2016-1-1 18:19

回复 5# Mr.k


    你加了 PAUSE
运行完应看到 请按任意键继续. . .  或者 Press any key to continue . . . 才对
作者: /zhqsystem/zhq    时间: 2016-1-1 21:53

回复 1# Mr.k
  1. @echo off
  2. for %%d in (c)do if exist "%%d:\" (
  3. for /f "delims=" %%i in ('dir/ad/s/b/l/on "%%d:\"')do if /i "%%~nxi"=="c" (
  4.   if not exist "%%i\a.exe\" if exist "%%i\a.exe" (
  5.    for /f "delims=" %%j in ('dir/a-d/s/b/l/on "%%i\*.*"')do if /i "%%~nxj"=="b.exe" (
  6.     echo,"%%j" "%%i\%%~nj\%%~nxj"
  7.    )
  8.   )
  9. )
  10. )
  11. pause
复制代码

作者: Mr.k    时间: 2016-1-2 20:21

回复 8# /zhqsystem/zhq


    谢谢,已经用2楼的解决了
作者: Mr.k    时间: 2016-1-3 20:56

回复 2# aa77dd@163.com


    再深入点如果D.exe同级目录E文件夹且都在F文件夹中 如何把F文件夹包括子目录的文件一起复制 非XCOPY,求解答




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