标题: [文件操作] 批处理如何把txt文本放入已有不在一个目录下的相同名称的文件内? [打印本页]
作者: cxq00 时间: 2024-8-11 14:47 标题: 批处理如何把txt文本放入已有不在一个目录下的相同名称的文件内?
批处理如何把txt文本放入已有相同名称的文件内?
例如:txt文本在 E:\文件 ,需要放在文件夹E:\文件\images下的有着相同名称的文件夹内
作者: aloha20200628 时间: 2024-8-11 17:20
本帖最后由 aloha20200628 于 2024-8-11 17:28 编辑
回复 1# cxq00
以下代码存为 test.bat 置于 ‘e:\文件’ 目录中,将任选的目标文件直接托给 test.bat 运行即可...
- @echo off &if "%~1" neq "" for /f "delims=" %%a in ('dir /b/ad "images\%~n1*" 2^>nul') do if /i "%~n1"=="%%a" move /y "%~1" "images\%%a\"
- pause&exit/b
复制代码
作者: 77七 时间: 2024-8-11 20:47
- @echo off
- rem 保存为ansi
- for %%a in ("e:\文件\*.txt") do (
- if exist "e:\文件\images\%%~na\" (
- copy "%%a" "e:\文件\images\%%~na\"
- )
- )
- pause
复制代码
作者: cxq00 时间: 2024-8-11 21:34
回复 3# 77七
可以了,谢谢您的帮助
作者: cxq00 时间: 2024-8-11 21:35
回复 2# aloha20200628
这个运行了没有效果,不知道啥原因
作者: aloha20200628 时间: 2024-8-11 23:06
本帖最后由 aloha20200628 于 2024-8-11 23:11 编辑
回复 5# cxq00
2楼代码是仅对某个拖入的文件操作
看来楼主的 ‘猜谜帖’ 是3楼押对了...原来是要把当前目录中所有与 'dir /b/ad \images\*' 同名的*.txt文件放到对应子目录中 如是再给一个版本如下
- @echo off &setlocal enabledelayedexpansion &for /d %%d in (images\*) do set "%%~nxd=1"
- for /f "delims=" %%F in ( 'dir /b/a-d "*.txt" ') do if "!%%~nF!"=="1" move /y "%%F" "images\%%~nF\"
- endlocal&pause&exit/b
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |