我有一个文件夹,其中包含多个文件,其名称如下:
pnahc.d_m05d17h09m30
我想在文件名末尾添加一个扩展名,以便新文件名如下所示:
pnahc.d_m05d17h09m30.txt
我尝试使用ren *. *.txt
,但没有效果。我该怎么做?
答案1
答案2
答案3
一个命令行命令就可以达到目的:
for /f "tokens=*" %a in ('dir /b') do @ren "%a" "%a.txt"
只需切换到包含文件的文件夹即可。
答案4
以下是使用的方法JP Software 的 TCC,命令解释器,其REN
命令支持正则表达式:
ren ::(.*) ::\1.txt
如果没有正则表达式,它仍然是一行代码。TCC 支持FOR
与 Microsoft 相同的语法cmd
,因此可以使用答案 FOR
中的一行代码。Multiverse IT
顺便说一句,对于这里的所有命令行答案,请注意,如果可能的话,在执行任何重命名操作之前扫描目录非常重要。你在关于原始文件名的问题中没有足够具体,所以在我们的回答中,我们不得不假设每个文件将被处理。因此搜索通配符将匹配结果文件名如果不小心的话,文件可能会被重命名多次。
例如,如果知道源文件名只包含一个点,则可以构造一个更严格的搜索通配符,该通配符不匹配包含两个点的结果文件名。使用 TCCren
命令的非正则表达式形式,这将是:
ren *.*. *.*.txt
搜索通配符中的尾随点很重要。 (.
实际上是搜索通配符中的元字符,尽管很少有人记录它。它匹配任何一个A.
或者名称的结尾。)它匹配名称的结尾,并阻止前面*
匹配点。