我想提到的是,几乎所有这些答案都能很好地控制它的重命名,我想检查所有有效的答案,只有一个答案不起作用,但如果这对任何人都有帮助,他们将有四分之三的答案有效
我的共享脚本工作得很好,但它会重命名目录中的所有内容,因此使用我的共享脚本时请小心
对于超大文件,我使用此python
import os
# Function to rename multiple files
def main():
i = 1000
path="C:/Users/user/Desktop/My Folder/New folder/New folder/"
for filename in os.listdir(path):
my_dest ="(" + str(i) + ")" + ".txt"
my_source =path + filename
my_dest =path + my_dest
# rename() function will
# rename all the files
os.rename(my_source, my_dest)
i += 1
# Driver Code
if __name__ == '__main__':
# Calling main() function
main()
好的,如果我有.txt、.jpeg、.mpeg,
,那么我试图控制计数器,使其只查看txt文件
所有内容都被重命名,我如何才能将其控制为仅.txt文件
还有一个问题,当我使用这个Python计数器或批处理计数器时,它会翻转我的文件名
示例
File_2019.txt - this should be renamed to (1000).txt
FileRecycled_2019.txt - this should be renamed to (1001).txt
结果
FileRecycled_2019.txt - this should be renamed to (1000).txt
File_2019.txt - this should be renamed to (1001).txt
根据文件名使用此方法时,会翻转文件的顺序
它不按字母顺序排列
我正在为翻页的名称制定解决方案,一旦我找到它,我将与他人分享它,如果它有助于他人
好的,我有一个下划线清除器批处理文件,它修复了翻转
并正确重命名
对于较小的文件,我将使用此
@echo off
Setlocal enabledelayedexpansion
Set "Pattern=_"
Set "Replace= "
For %%a in (*.txt) Do (
Set "File=%%~a"
Ren "%%a" "!File:%Pattern%=%Replace%!"
)
set count=1000
for %%f in (*.txt) do (
set /a count+=1
ren "%%f" "(!count!).txt"
)
我用一种简单的方法解决了这个问题:
您可以在重命名之前检查文件名是否有.txt
在文件名上,您尚未指定名称的顺序。您可以使用
for filename in sorted(os.listdir(path)):
按字母顺序移动我的解决办法是:
这将使用
glob
获取文件夹中带有.txt
后缀的所有文件路径。它还使用enumerate
对每个文件进行计数,而不必自己对i
值进行计数。文件名是使用f-string生成的您可以通过使用
pathlib
模块来实现这一点pathlib
模块在处理文件时非常方便。代码中使用了os
模块将当前工作目录更改为path
的位置,因为重命名的文件将放置在当前工作目录中相关问题 更多 >
编程相关推荐