Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 52f1b5c

Browse files
committed
Added script for rename multiple files in folders
1 parent e7b2366 commit 52f1b5c

File tree

2 files changed

+141
-0
lines changed

2 files changed

+141
-0
lines changed

‎Rename-Multiple-Files/README.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
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 = ''`

‎Rename-Multiple-Files/main.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /