回复 15# 回家路上
您好!代码在使用时如果文件夹名有空格,就会多生成一层。此代码不影响使用,就想弄明太是什么原因造成的。
- @echo off & setlocal enabledelayedexpansion
- set "source=%~dp0"
- set "target=%~dp0copy"
- echo;开始复制,稍等。。。。
- for /f "delims=" %%i in ('dir /b /s /a-d "%source%\*.txt"') do (
- set "file=%%~fi"
- if "!target:%%~fi=!" equ "!target!" (
- echo;复制文件———!file!
- for /f "usebackq" %%a in ('%source%') do (
- set "ref=!file:%%a=!"
- echo;f|xcopy /y "!file!" "%target%\!ref!">nul 2>&1
- )
- )
- )
- echo;完成。
- pause & exit /b
复制代码
└─aaabbb
│ 提取txt文件.bat
│
├─copy
│ ├─s
│ │ ├─dlc1.1f
│ │ │ 1.1.txt
│ │ │
│ │ └─dlc6.4
│ │ 6.4.txt
│ │
│ └─t
│ ├─dlc1.4f
│ │ 1.4.txt
│ │
│ ├─dlc2.1f
│ │ 2.1.txt
│ │
│ ├─dlc3.1
│ │ 3.1.txt
│ │
│ └─dlc4.1f
│ 4.1.txt
│
├─s
│ ├─dlc1.1f
│ │ 1.1.txt
│ │
│ └─dlc6.4
│ 6.4.txt
│
└─t
├─dlc1.4f
│ 1.4.txt
│
├─dlc2.1f
│ 2.1.txt
│
├─dlc3.1
│ 3.1.txt
│
└─dlc4.1f
4.1.txt
└─aaa bbb
│ 提取txt文件.bat
│
├─copy
│ └─ bbb
│ ├─s
│ │ ├─dlc1.1f
│ │ │ 1.1.txt
│ │ │
│ │ └─dlc6.4
│ │ 6.4.txt
│ │
│ └─t
│ ├─dlc1.4f
│ │ 1.4.txt
│ │
│ ├─dlc2.1f
│ │ 2.1.txt
│ │
│ ├─dlc3.1
│ │ 3.1.txt
│ │
│ └─dlc4.1f
│ |