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

[文本处理] [已解决]批处理提取文件名保存txt并自动修改txt的文件名

本帖最后由 love18p 于 2021-5-9 16:34 编辑

需求:提取文件夹内所以文件名保存到txt(保存的txt名是该文件夹名)最好是能指定后缀名提取。
然后需要批量更改txt里保存的文件名。
例:
a.123
改成如下样子
空格0xa:“当前文件夹路径/a.456”

提取的时候不需要路径,更改的时候需要当前文件夹路径然后后缀名需要更改。

我这里有个提取的不会改
  1. @echo off
  2. cd.>ignore.txt
  3. dir *.png* /b >list.txt
  4. setlocal enabledelayedexpansion
  5. for /f "delims=" %%f in (list.txt)do (
  6.   echo %%f >nul 2>nul
  7.   set "f=%%f"
  8.   set "f= 0x!f:.png=: "!"
  9.   echo !f!>>ignore.txt
  10. )
  11. del list.txt
复制代码

本帖最后由 qixiaobin0715 于 2021-5-9 11:56 编辑
  1. @echo off
  2. for %%i in ("%~dp0.") do set path=%%~ni
  3. (for %%a in (*.png) do echo, 0x%%~na : “%~dp0%%~na.dds”)>%path%.txt
  4. pause
复制代码
1

评分人数

TOP

本帖最后由 love18p 于 2021-5-9 11:25 编辑

回复 2# qixiaobin0715

大佬好,不行啊
我把123,456改成后缀
我提取出来没有文件名
0xa:“B:\@DUMP\4473CC84\6F80A846.dds”
0xa
a是原始的文件名
我前面可能没说清楚

我要的是这样的
原来文件是
00039D2B.png
0773E5B8.png
0E13B740.png
0F968AB9.png
1105ED41.png
改成
  0x00039D2B : "当前目录/00039D2B.dds"
  0x0773E5B8 : "当前目录/0773E5B8.dds"
  0x0E13B740 : "当前目录/0E13B740.dds"
  0x0F968AB9 : "当前目录/0F968AB9.dds"
  0x1105ED41 : "当前目录/1105ED41.dds"

TOP

回复 3# love18p
举例子不能随便来,要举真实的情况,否则自己知道什么意思,别人可能闹误会。已修改。

TOP

回复 4# qixiaobin0715

    大佬不好意思
这次的bat直接不能使用点了没反应。

TOP

我这里测试没问题

TOP

回复 6# qixiaobin0715


    找到问题了。。。保存的编码是UTF-8,改成ANSI就好了
再次感谢大佬,辛苦了

TOP

返回列表