File tree 2 files changed +141
-0
lines changed
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