本帖最后由 miqilaosu 于 2019-6-29 16:40 编辑
回复 3# a6236130 - echo on
- set "file_name=E:\提取\1.txt"
- set "DstDir=E:\提取"
- if not exist "%DstDir%" md "%DstDir%"
- for /f %%i in ('type "%file_name%"') do (
- for /f "delims=*" %%a in ('dir /b /s /a-d "*%%i*"') do (
-
- set "_path=%%~dpa"
-
- setlocal enabledelayedexpansion
-
- if /i "!_path:%DstDir%=!" equ "!_path!" (
-
- set "_path=!_path:%~dp0=!"
-
- set "_path=!_path:\=-!"
-
- echo;f|xcopy "%%a" "%DstDir%\!_path:~0,-1!\%%~nxa" /y
-
- )
-
- endlocal
-
- )
- )
- pause
复制代码 在你的基础上改的
1.txt文件主要是你要查的文件名太多了,把要拷的名字都放里边,0000、0000-1、0000-2、kkf,等(每行一个),位置自己改吧,我搜索的是包含0000等 的文件名,如果是绝对文件名,自己对掉*号,如果是指定文件类型后缀名自己加上就行了,在DIR那修改就行
你也可以写成- echo off
- set "file_name=0000 0000-1 0000-2 kkf"
- set "DstDir=E:\提取"
- if not exist "%DstDir%" md "%DstDir%"
- for /d %%i in (%file_name%) do (
-
- for /f "delims=*" %%a in ('dir /b /s /a-d "*%%i*"') do (
-
- set "_path=%%~dpa"
-
- setlocal enabledelayedexpansion
-
- if /i "!_path:%DstDir%=!" equ "!_path!" (
- set "var=%%~nxa"
-
-
- set "_path=!_path:%~dp0=!"
-
- set "_path=!_path:\=-!"
-
- echo;f|xcopy "%%a" "%DstDir%\!_path:~0,-1!\%%~nxa" /y
-
-
- )
-
- endlocal
-
-
- )
- )
- pause
复制代码
|