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

[文件操作] 批处理如何将多个文件夹里的所有文件的文件名输出到以该文件夹命名的txt文本里

本帖最后由 pcl_test 于 2016-7-11 10:41 编辑

n个文件夹 里边有文件
保存文件的名称 不包括后缀名   需要按文件夹名称命名txt对应保存


文件夹:沐雪琪  文件:sf.mp3
文件夹:沐雪  文件:sfw.mp3
保存为
沐雪琪.txt   内容  sf

沐雪.txt   内容  sfw
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 tmplinshi 于 2012-11-17 23:21 编辑
  1. @echo off
  2. set "folder=e:\我的文档\桌面"
  3. rem 如果是处理批处理所在目录,可把上一行删掉,或者改为 set "folder=."
  4. for /f %%a in (' dir /a:-d /b /s "%folder%\*" ') do (
  5.     if /i "%%~xa" neq ".txt" (
  6.         for %%b in ("%%a\..") do (
  7.             echo,%%~na>"%%~nxb.txt"
  8.             
  9.             rem 如果要把 txt 保存到对应的文件夹,请把 "%%~nxb.txt" 改为
  10.             rem "%%~dpa%%~nxb.txt"
  11.         )
  12.     )
  13. )
  14. pause
复制代码

TOP

回复 2# tmplinshi


婧,何京 - 最后一刻才明白.mp3
只会输出   婧,何京

多个文件怎么只写最后一个

可能是我没有说清楚吧 不好意思

TOP

本帖最后由 tmplinshi 于 2012-11-18 00:39 编辑

回复 3# web


    抱歉,粗心了。
  1. @echo off
  2. set "folder=e:\我的文档\桌面"
  3. rem 如果是处理批处理所在目录,可把上一行删掉,或者改为 set "folder=."
  4. for /f "delims=" %%a in (' dir /a:-d /b /s "%folder%\*" ') do (
  5.     if /i "%%~xa" neq ".txt" (
  6.         for %%b in ("%%a\..") do (
  7.             echo,%%~na>"%%~nxb.txt"
  8.             
  9.             rem 如果要把 txt 保存到对应的文件夹,请把 "%%~nxb.txt" 改为
  10.             rem "%%~dpa%%~nxb.txt"
  11.         )
  12.     )
  13. )
  14. pause
复制代码
多个文件怎么只写最后一个

因为你希望的结果是以文件夹为文件名,如果文件夹中有多个文件,当然都是同一个名称。
2

评分人数

TOP

回复 4# tmplinshi


    谢谢 这回输出是我想要的结果

还有个问题我想没理解了 就是文件夹里边有n个文件  

婧 - 放弃爱你.mp3
婧 - 爱情剧终.mp3
婧,何京 - 最后一刻才明白.mp3

婧 - 放弃爱你
婧 - 爱情剧终
婧,何京 - 最后一刻才明白

不是只要一个都要输出  
抱歉

TOP

回复 5# web


先把之前生成的 txt 文件删掉,再运行以下代码:
   
@echo off
set "folder=e:\我的文档\桌面"
rem 如果是处理批处理所在目录,可把上一行删掉,或者改为 set "folder=."

for /f "delims=" %%a in (' dir /a:-d /b /s "%folder%\*" ') do (
    if /i "%%~xa" neq ".txt" (
        for %%b in ("%%a\..") do (
            echo,%%~na>>"%%~nxb.txt"
            
            rem 如果要把 txt 保存到对应的文件夹,请把 "%%~nxb.txt" 改为
            rem "%%~dpa%%~nxb.txt"
        )
    )
)

pause
1

评分人数

    • web: 感谢耐心的帮助技术 + 1

TOP

回复 6# tmplinshi


    好了 没问题 非常感谢

感谢tmplinshi 坚持不懈的帮助

TOP

返回列表