用批处理完成对所有盘符下的2级子目录名搜索【唯一的】,找到后,将指定...
发布网友
发布时间:2024-10-04 09:15
我来回答
共1个回答
热心网友
时间:2024-10-05 18:00
您在任意位置建立个批处理,存为dir_copy.bat,内如如下:
@echo off
@set fd=c,d,e
@for %%d in (%fd%) do (
@for /f "delims=" %%f in ('dir %%d:\ /ad-h /b') do (
@cd "%%f"
@echo %%f
@for /f "delims=" %%g in ('dir /ad /b') do (
@if "%%g"=="%1" (
@md "%%g\temp"
@copy %2 "%%d:\%%f\%%g\temp"
)
)
@cd..
)
)
cd /d %~dp0
这个批处理有2个参数,第一个是您要找的二级目录路径名,第二是您要拷贝的文件的绝对地址。
比如您的d盘有个二级目录叫databackup,想从c盘data目录下面拷贝mydata.dbf文件,就在该批处理的路径下输入:
dir_copy.bat databackup c:\data\mydata.dbf
该批处理有几个要注意的地方:
1、第2行是设置盘符的地方,您的机器有几个分区就输入几个,注意中间的逗号一定要是英文逗号;
2、这个批处理不找隐藏的二级目录,如要找的话可以把第4行for ……()里的-h去掉;
3、您的目标路径下面如果没有temp文件夹,该批处理会自动建立,有的话就忽略了;
4、如果您要拷贝的文件是在program files这种有空格目录里,就用双引号引起来,例如dir_copy.bat databackup “c:\program files\mydata.dbf"