Board logo

标题: [文件操作] [已解决]批处理怎么样批量将不同目录内的TXT以文件夹命名? [打印本页]

作者: wyx567    时间: 2015-9-9 12:48     标题: [已解决]批处理怎么样批量将不同目录内的TXT以文件夹命名?

本帖最后由 wyx567 于 2015-9-9 19:03 编辑

怎么样批量将不同文件夹内的TXT以所在的文件夹命名

多谢
作者: pcl_test    时间: 2015-9-9 13:23

txt文件名添加所在文件夹名前缀
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d/b/s *.txt') do (
  3.     set "fd=%%~dpa"
  4.     for /f "delims=" %%b in ("!fd:~,-1!") do set "fn=%%~nb"
  5.     ren "%%a" "!fn!_%%~nxa"
  6. )
  7. pause
复制代码

作者: wyx567    时间: 2015-9-9 15:12

回复 2# pcl_test

你好,测试了现在是在原来的文件名加上现有的文件名了..

比如原来是1.txt,文件夹是"小说"

运行后结果就是"小说_1.txt"

现在是需要把这个1.txt改成小说.txt
作者: flyinnet9    时间: 2015-9-9 15:31

回复 3# wyx567


    晕,文件夹里有多个文件不是重名了?
作者: wyx567    时间: 2015-9-9 15:44

回复 4# flyinnet9

不会,每个文件夹有且只有一个TXT文件的
作者: flyinnet9    时间: 2015-9-9 15:49

借pcl的代码

第五行改成 ren "%%a" "!fn!.txt"
作者: wyx567    时间: 2015-9-9 19:02

感谢pcl_test和flyinnet9,搞定了!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2