标题: [文件操作] 批处理如何将文件复制到指定文件的同级目录中的指定文件夹里? [打印本页]
作者: 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 编辑
- for /f "delims=" %%a in ('dir /s /b /a-d \A.exe') do (
- copy D.exe "%%~dpaB\D.exe"
- )
复制代码
回复 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
- @echo off
- for %%d in (c)do if exist "%%d:\" (
- for /f "delims=" %%i in ('dir/ad/s/b/l/on "%%d:\"')do if /i "%%~nxi"=="c" (
- if not exist "%%i\a.exe\" if exist "%%i\a.exe" (
- for /f "delims=" %%j in ('dir/a-d/s/b/l/on "%%i\*.*"')do if /i "%%~nxj"=="b.exe" (
- echo,"%%j" "%%i\%%~nj\%%~nxj"
- )
- )
- )
- )
- 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://bbs.bathome.net/) |
Powered by Discuz! 7.2 |