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

[文件操作] [已解决]批处理怎么把文件夹名+文件名追加在文件内容末尾?

本帖最后由 小小问号 于 2022-11-3 21:59 编辑

需要从多个文件夹里面查找多个文件,拷贝到指定文件夹A,文件名存在test.txt,已经实现查找和复制,现在想要把文件原来路径的上一级的文件夹名加文件名追加在指定文件夹A的文件内容的末尾,求大神帮忙
现在已经获取到文件夹名和文件名,存在filename.txt   一行存一条记录如:文件夹.文件名
原来文件路径:            想要追加的内容:     追加在指定文件夹A的文件内容末尾
..\文件夹a\文件1             文件夹a.文件1              ..文件夹A\文件1
..\文件夹a\文件2             文件夹a.文件2              ..文件夹A\文件2
..\文件夹a\文件3             文件夹a.文件3              ..文件夹A\文件3
..\文件夹b\文件4             文件夹b.文件4              ..文件夹A\文件4

尝试了2种查找和复制的方法,代码如下:
  1. #方法一
  2. @echo@echo off
  3. setlocal enabledelayedexpansion
  4. set outputDir=..\文件夹A
  5. for /f "delims=" %%a in (test.txt) do set _"%%a"=true
  6. for /f "delims=" %%i in ('dir /s /b /a-d') do if defined _"%%~nxi" copy "%%i" "%outputDir%"
  7. #方法二
  8. @echo off &set "outputDir=..\文件夹A"
  9. for /f "delims=" %%F in ('dir/s/b/a-d^|findstr /g:"test.txt" ') do (copy /y "%%~F" "%outputDir%">nul)
复制代码

本帖最后由 77七 于 2022-11-3 01:32 编辑

"现在想要把文件原来路径的上一级的文件夹名加文件名追加在指定文件夹A的文件内容的末尾。"
简言之,把名加在文件内容末尾,这如何理解...
你直接 列举操作前,和操作后的效果,这样比较好理解...
bat小白,请多指教!谢谢!

TOP

回复 1# 小小问号
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "outputDir=..\文件夹A"
  5. for /f "delims=" %%a in (test.txt) do set _"%%a"=true
  6. for /f "delims=" %%i in ('dir /b /s /a-d') do (
  7.     if defined _"%%~nxi" (
  8.         copy "%%i" "%outputDir%"
  9.         for %%j in ("%%i\..") do (
  10.             >>"%outputDir%\%%~nxi" echo %%~nxj.%%~nxi
  11.         )
  12.     )
  13. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    非常感谢大佬,已经实现我的需求

TOP

返回列表