[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何把txt文本放入已有不在一个目录下的相同名称的文件内?

批处理如何把txt文本放入已有相同名称的文件内?

例如:txt文本在 E:\文件   ,需要放在文件夹E:\文件\images下的有着相同名称的文件夹内

本帖最后由 aloha20200628 于 2024-8-11 23:11 编辑

回复 5# cxq00

2楼代码是仅对某个拖入的文件操作
看来楼主的 ‘猜谜帖’ 是3楼押对了...原来是要把当前目录中所有与 'dir /b/ad \images\*' 同名的*.txt文件放到对应子目录中 如是再给一个版本如下
  1. @echo off &setlocal enabledelayedexpansion &for /d %%d in (images\*) do set "%%~nxd=1"
  2. for /f "delims=" %%F in ( 'dir /b/a-d "*.txt" ') do if "!%%~nF!"=="1" move /y "%%F" "images\%%~nF\"
  3. endlocal&pause&exit/b
复制代码

TOP

回复 2# aloha20200628


   这个运行了没有效果,不知道啥原因

TOP

回复 3# 77七


    可以了,谢谢您的帮助

TOP

  1. @echo off
  2. rem 保存为ansi
  3. for %%a in ("e:\文件\*.txt") do (
  4. if exist "e:\文件\images\%%~na\" (
  5. copy "%%a" "e:\文件\images\%%~na\"
  6. )
  7. )
  8. pause
复制代码
bat小白,请多指教!谢谢!

TOP

本帖最后由 aloha20200628 于 2024-8-11 17:28 编辑

回复 1# cxq00

以下代码存为 test.bat 置于 ‘e:\文件’ 目录中,将任选的目标文件直接托给 test.bat 运行即可...
  1. @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\"
  2. pause&exit/b
复制代码

TOP

返回列表