File tree Expand file tree Collapse file tree 2 files changed +141
-0
lines changed Expand file tree Collapse file tree 2 files changed +141
-0
lines changed Original file line number Diff line number Diff line change 1+ ### [ English] ( #EN )
2+
3+ ### [ Russian] ( #RU )
4+
5+ # EN
6+
7+ ### Script for rename multiple files
8+
9+ Tested in Python version 3.11.2, but it must working in version 3.5 and above.
10+
11+ ### Run
12+
13+ GNU\Linux: ` $(which python3) main.py `
14+
15+ Windows: ` C:\\Path\\to\\Python3\\Python3.exe main.py `
16+
17+ Folders structure:
18+
19+ ```
20+ main.py
21+ root/
22+ |
23+ |--- folder1
24+ | |
25+ | |- file1.txt
26+ | |- file2.txt
27+ | |- file2.txt
28+ |
29+ |--- folder2
30+ | |
31+ | |- file1.txt
32+ | |- file2.txt
33+ | |- file2.txt
34+ |
35+ |--- folder3
36+ | |
37+ | |- file1.txt
38+ | |- file2.txt
39+ | |- file2.txt
40+ ```
41+
42+ Output files structure:
43+
44+ ```
45+ folder1/folder1-1.txt
46+ folder1/folder1-2.txt
47+ folder1/folder1-3.txt
48+
49+ folder2/folder2-1.txt
50+ folder2/folder2-2.txt
51+ folder2/folder2-3.txt
52+
53+ folder3/folder3-1.txt
54+ folder3/folder3-2.txt
55+ folder3/folder3-3.txt
56+ ```
57+
58+ Maybe set outher symbol for ` DESTINATION_FILE_DELIMITER ` param or just leave blank ` DESTINATION_FILE_DELIMITER = '' `
59+
60+ # RU
61+
62+ ### Скрипт для переименования большого количества файлов
63+
64+ Тестировался на Python версии 3.11.2, но должен работать на версиях выше 3.5.
65+
66+ ### Запуск
67+
68+ GNU\Linux: ` $(which python3) main.py `
69+
70+ Windows: ` C:\\Path\\to\\Python3\\Python3.exe main.py `
71+
72+ Структура папок:
73+
74+ ```
75+ main.py
76+ root/
77+ |
78+ |--- папка1
79+ | |
80+ | |- файл1.txt
81+ | |- файл2.txt
82+ | |- файл2.txt
83+ |
84+ |--- папка2
85+ | |
86+ | |- файл1.txt
87+ | |- файл2.txt
88+ | |- файл2.txt
89+ |
90+ |--- папка3
91+ | |
92+ | |- файл1.txt
93+ | |- файл2.txt
94+ | |- файл2.txt
95+ ```
96+
97+ Скрипт переименует файлы в папках так:
98+
99+ ```
100+ папка1/папка1-1.txt
101+ папка1/папка1-2.txt
102+ папка1/папка1-3.txt
103+
104+ папка2/папка2-1.txt
105+ папка2/папка2-2.txt
106+ папка2/папка2-3.txt
107+
108+ папка3/папка3-1.txt
109+ папка3/папка3-2.txt
110+ папка3/папка3-3.txt
111+ ```
112+
113+ В случае необходимости можно поменять ` DESTINATION_FILE_DELIMITER ` на нужный символ или вообще оставить пустым ` DESTINATION_FILE_DELIMITER = '' `
Original file line number Diff line number Diff line change 1+ import os
2+ import platform
3+
4+
5+ ROOT_DIR = os .getcwd () + '/root'
6+ PATH_DELIMITER = ''
7+ DESTINATION_FILE_DELIMITER = '-'
8+ COUNTER = 0
9+
10+
11+ if (platform .system () == 'Linux' ) or (platform .system () == 'Darwin' ):
12+ PATH_DELIMITER = '/'
13+ elif (platform .system () == 'Windows' ):
14+ PATH_DELIMITER = '\\ '
15+
16+ for current_dir in os .listdir (ROOT_DIR ):
17+ subdir = ROOT_DIR + PATH_DELIMITER + current_dir
18+ if os .path .isdir (subdir ):
19+ print ('Now working with: "' + subdir + '" directory' )
20+ COUNTER = 0
21+ for current_file in os .listdir (subdir ):
22+ COUNTER += 1
23+ current_file_full_path = subdir + PATH_DELIMITER + current_file
24+ renamed_file_full_path = subdir + PATH_DELIMITER + current_dir + DESTINATION_FILE_DELIMITER + str (COUNTER ) + '.' + current_file .split ('.' )[- 1 ]
25+ try :
26+ os .rename (current_file_full_path , renamed_file_full_path )
27+ except Exception as e :
28+ print ('Error occurred because: ' + e )
You can’t perform that action at this time.
0 commit comments