如何在将数据保存到 txt 文件之前删除最后 4 个字符

如何在将数据保存到 txt 文件之前删除最后 4 个字符

我有一个批处理文件,可以将图像名称从文件夹保存到 txt 文件,但在保存之前我想删除 .png

我该怎么做?

@echo
SET path = "C:\Documents\Img"
dir /b %path % > myImg.txt

答案1

快速解决方案(在以下人员的大力帮助下:https://stackoverflow.com/questions/3215501/batch-remove-file-extension) 仅获取文件名(减去扩展名)并将列表输出到文件:

(我已编辑我的答案以匹配您的目录/文件)

@echo off
for /R "C:\Documents\Img" %%f in (*.*) do (
    echo %%~nf >>myImg.txt
)
pause

该脚本将不断地附加到pics.txt文件,因此如果您每次都需要它写入一个新文件,那么您需要添加一个初始步骤,用空字符串(break>myImg.txt)覆盖文件:

@echo off
break>myImg.txt
for /R "C:\Documents\Img" %%f in (*.*) do (
    echo %%~nf >>myImg.txt
)
pause

答案2

快速搜索删除文件扩展名

您可以使用for循环迭代%path并回显/写入%%~nf您的文件。

相关内容