Board logo

标题: [文本处理] [已解决]批处理如何将多个子文件夹里的文件替换成统一扩展名后的文件名写入到文本里 [打印本页]

作者: xxm19810711    时间: 2015-3-13 11:03     标题: [已解决]批处理如何将多个子文件夹里的文件替换成统一扩展名后的文件名写入到文本里

本帖最后由 pcl_test 于 2016-12-16 19:39 编辑

批处理如何只提取主文件名,不同后缀改成同一个后缀?
各位大侠好:
     我在多个文件夹里,分别保存了不同的图片,格式有jpg,gif的。
1.我现在想提取所有图片的名字,不要扩展名。
2. 把所有jpg,gif图片名字改成 名字.js的格式保存在txt里。比如把 玫瑰.jpg  桃花.gif 分别改成变成 玫瑰.js  桃花.js 保存在一个txt里。

万分感谢!
作者: pcl_test    时间: 2015-3-13 11:19

回复 1# xxm19810711
  1. @echo off
  2. cd /d "H:\"
  3. for /f "delims=" %%a in ('dir /b /s *.jpg *.gif') do >>nane.txt echo %%~na.js
  4. pause
复制代码

作者: dyfgkxue    时间: 2015-3-13 11:20

本帖最后由 dyfgkxue 于 2015-3-13 11:30 编辑
  1. @echo off
  2. for /r c:\path %%i in (*.jpg) do echo %%~ni.js>>image.txt
  3. for /r c:\path %%j in (*.gif) do echo %%~nj.js>>image.txt
  4. pause
复制代码
用这个试试!c:\path是你多个文件夹所在的盘符及文件夹
作者: xxm19810711    时间: 2015-3-13 11:31

回复 3# dyfgkxue


    谢谢回复,你这个用了后,显示的完整的路径.jpg.js
作者: dyfgkxue    时间: 2015-3-13 11:34

回复 4# xxm19810711
我又完善了一下代码!你再试试~
作者: DAIC    时间: 2015-3-13 11:35

dir 命令加上 /a-d 会更加严谨
  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b /s /a-d *.jpg *.gif') do (
  3.     echo %%~ni.js
  4. ))>list.txt
  5. pause
复制代码

作者: cobat    时间: 2015-3-13 11:38

  1. @echo off
  2. (for /r "c:\path" %%i in (*.jpg *.gif) do echo %%~ni.js)>image.txt
  3. pause
复制代码

作者: xxm19810711    时间: 2015-3-13 11:38

回复 2# pcl_test


    谢谢回复,上面的第一句是图片的路径吧,是需要自己改的,对吗?

    能不能问一下,如何只提取主文件名,到一个txt呢?谢谢了!
作者: xxm19810711    时间: 2015-3-13 11:46

回复 7# cobat


    谢谢啊,成功了!
作者: xxm19810711    时间: 2015-3-13 11:47

回复 6# DAIC


    谢谢回复!
作者: xxm19810711    时间: 2015-3-13 11:51

谢谢各位大侠的回复,我把你们命令中的js去掉,是不是就是主文件名了,嘿嘿!再次感谢!
作者: pcl_test    时间: 2015-3-13 11:56

回复 8# xxm19810711
是的,路径或是总的文件夹,去掉.js就是纯文件名




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