使用批处理拷贝指定文件名并复制到指定文件夹
【例子】:文件夹名1:0000011_20150224*****,文件夹中的文件:0000011_00000108_0000109.jpg,0000011_00000**...
【例子】:文件夹名1:0000011_20150224*****,文件夹中的文件:0000011_00000108_0000109.jpg,0000011_00000***_0000***.jpg,……
文件夹名2:0000012_20150224*****,文件夹中的文件:0000012_00000108_0000109.jpg,0000012_00000***_0000***.jpg,……
文件夹名3:0000011_20150225*****,文件夹中的文件:0000011_00000108_0000109.jpg,0000011_00000***_0000***.jpg ,……
文件夹名4:0000012_20150225*****,文件夹中的文件:0000012_00000108_0000109.jpg,0000012_00000***_0000***.jpg,……
【问题】:包含字符串“00000108_0000109”.jpg的文件拷贝到对应的文件夹,文件夹以日期命名。
【例子处理后的结果】新文件夹名1:20150224,包含的文件:0000011_00000108_0000109.jpg,0000012_00000108_0000109.jpg
新文件夹名2:20150225,包含的文件:0000011_00000108_0000109.jpg,0000012_00000108_0000109.jpg
文件夹的命名修正下:00-000_0000011_20150224*****。希望能再修正下 展开
文件夹名2:0000012_20150224*****,文件夹中的文件:0000012_00000108_0000109.jpg,0000012_00000***_0000***.jpg,……
文件夹名3:0000011_20150225*****,文件夹中的文件:0000011_00000108_0000109.jpg,0000011_00000***_0000***.jpg ,……
文件夹名4:0000012_20150225*****,文件夹中的文件:0000012_00000108_0000109.jpg,0000012_00000***_0000***.jpg,……
【问题】:包含字符串“00000108_0000109”.jpg的文件拷贝到对应的文件夹,文件夹以日期命名。
【例子处理后的结果】新文件夹名1:20150224,包含的文件:0000011_00000108_0000109.jpg,0000012_00000108_0000109.jpg
新文件夹名2:20150225,包含的文件:0000011_00000108_0000109.jpg,0000012_00000108_0000109.jpg
文件夹的命名修正下:00-000_0000011_20150224*****。希望能再修正下 展开
1个回答
展开全部
@echo off&setlocal EnableDelayedExpansion
for /f "tokens=1,* delims=_" %%a in ('dir/ad/b') do (
set d=%%~b
if defined d md !d:~,8!
if exist "%%~a_%%~b" copy "%%~a_%%~b\*00000108_0000109.jpg" !d:~,8!\
)
pause
放在待处理文件夹同一目录下
更多追问追答
追问
非常感谢,没有问题。
能否再追加一个功能,可以设定日期期限的,由于文件夹和文件数量太多,全部处理一遍时间太长了。
追答
@echo off&setlocal EnableDelayedExpansion
for /f "tokens=1,* delims=_" %%a in ('dir/ad/b') do (
set d=%%~b
if defined d call:Process !d:~,8! "%%~a_%%~b"
)
pause
exit
goto :eof
:Process
::设置日期范围,逗号前为早日期,逗号后为晚日期
set DT=20150211,20150312
if %1 geq %DT:~,8% (
if %1 leq %DT:~9% (
md %1
if exist %2 copy "%~2\*00000108_0000109.jpg" %1\
)
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询