回复 4# tangwei94054
这种的吗?
- SetLocal EnableDelayedExpansion
- rem 说明:批处理必须在789的目录,必须拖拽复制到的目录到批处理上[非文件],否则无法获取,或手动更改路径
- cd/d "%~dp0"
- if /i "%~f1"=="" echo,错误,拖拽复制到目录&&pause&&exit
- for /f "delims=" %%j in ('dir/a-d/s/b ".\*.*"')do if not "%~f0"=="%%~fj" if /i not "%%~nxj"=="复制文件名称.txt" (
- set "路径去除=%%~fj"
- set "路径去除=!路径去除:%cd%=!"
- set "通配对比="&set "完整对比="
- for /f "delims=" %%k in ("!路径去除!")do (
- for /f "delims=" %%a in (复制文件名称.txt) do (rem //文件内容必须完整名称或完整路径自动获取名称
- set "通配对比临时处理=%%~nj"
- if /i not "%%~nj"=="!通配对比临时处理:%%~na=!" if not defined 完整对比 set "通配对比=true"
- if /i "%%~nj"=="%%~na" if not defined 完整对比 set "完整对比=true"
- )
- if defined 完整对比 (
- rem echo,完整文件名对比成功: !完整对比! %%~pk %%~fj&&rem //导出文本
- echo,xcopy/y "%%~fj" "%~f1%%~pk"
- )else if defined 通配对比 (
- rem echo,部分文件名对比成功: !通配对比! %%~pk %%~fj&&rem //导出文本
- echo,xcopy/y "%%~fj" "%~f1%%~pk"
- )
- if not defined 完整对比 if not defined 通配对比 echo,文件名对比失败&&rem //导出文本
- )
- )
- pause
- exit
复制代码
|