我在一个文件夹中有很多 *.txt 文件。
文本文件看起来像一本字典,其中有一些缩写词,旁边是单词的含义。例如
文件1.txt
aaa-bbb-ccc
= this is a abc
文件2.txt
aa-dd-ee
= blah blah blah
文件3.txt
aaa-ff-xxxx
= have a nice day
文件4.txt
mm-aaa-xx
= batch script
等等..
缩写: 1. 可以是 2 到 4 个字符,可以是 aaa、mm 或任何文本。
2.大部分在第二行,因为第一行是空白
我想知道是否可以使用批处理脚本通过该文件夹读取每个文件的内容,并按照缩写重命名。如何进行?
aaa-bbb-ccc.txt
aa-dd-ee.txt
等等..
先感谢您
使用普通for
循环来处理每个文件。使用for /f
循环来处理文件中的行。由于for /f
忽略空文件,第一行是否为空都没有关系:
@echo off
setlocal enableDelayedExpansion
for %%a in (*.txt) do (
set "new="
for /f "usebackq delims==" %%b in ("%%a") do if not defined new set "new=%%b"
ECHO ren "%%a" "!new!%%~xa"
)
有关更多信息,请阅读for /?
。
注意:出于安全原因,该ren
命令仅通过将其回显到屏幕来禁用。ECHO
验证后删除,输出正常。
编辑:=
可能在同一行。或不...要解决它,请使用delims==
. (如果遇到空格问题,并且缩写中没有空格,请扩展... delims== "
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句