Как переименовать файлы в подкаталогах?

Есть ли способ пакетного переименования 9X_windows-applications файлов в подкаталогах?

Например:

Переименуйте 9X_windows-application *.html в *.htm в папке, в которой есть каталоги и подкаталоги.

47
0
8
Общее количество ответов: 8

Ответ #1

Ответ на вопрос: Как переименовать файлы в подкаталогах?

Командная строка Windows: (в пакетном файле 9X_outfile замените% x на %% x)

for /r %x in (*.html) do ren "%x" *.htm 

Это также работает для 9X_outfile переименования середины файлов

for /r %x in (website*.html) do ren "%x" site*.htm 

95
1

  • Примечательно, что это также работает для переименования только средней ...

Ответ #2

Ответ на вопрос: Как переименовать файлы в подкаталогах?

find . -regex ".*html$" | while read line; do A=`basename ${line} | sed 's/html$/htm/g'`; B=`dirname ${line}`; mv ${line} "${B}/${A}"; done 
9X_windows-applications
6
0

Ответ #3

Ответ на вопрос: Как переименовать файлы в подкаталогах?

В Python

import os target_dir = "." for path, dirs, files in os.walk(target_dir): for file in files: filename, ext = os.path.splitext(file) new_file = filename + ".htm" if ext == '.html': old_filepath = os.path.join(path, file) new_filepath = os.path.join(path, new_file) os.rename(old_filepath, new_filepath) 

9X_batch-rename

6
0

Ответ #4

Ответ на вопрос: Как переименовать файлы в подкаталогах?

Если у вас есть файлы forfiles (я думаю, они 9X_windows входят в состав Windows XP, 2003 и новее), вы 9X_infile можете запустить:

forfiles /S /M *.HTM /C "cmd /c ren @file *.HTML" 

6
0

Ответ #5

Ответ на вопрос: Как переименовать файлы в подкаталогах?

В Bash вы можете делать следующее:

for x in $(find . -name \*.html); do mv $x $(echo "$x" | sed 's/\.html$/.htm/') done 

9X_output-file

5
0

Ответ #6

Ответ на вопрос: Как переименовать файлы в подкаталогах?

In bash use command rename :) rename 's/\.htm$/.html/' *.htm # or find . -name '*.txt' -print0 | xargs -0 rename 's/.txt$/.xml/' #Obs1: Above I use regex \. --> literal '.' and $ --> end of line #Obs2: Use find -maxdepht 'value' for determine how recursive is #Obs3: Use -print0 to avoid 'names spaces asdfa' crash! 
9X_windows-application
3
0

Ответ #7

Ответ на вопрос: Как переименовать файлы в подкаталогах?

Я уверен, что есть более элегантный способ, но 9X_batch-rename вот первое, что пришло мне в голову:

for f in $(find . -type f -name '*.html'); do mv $f $(echo "$f" | sed 's/html$/htm/') done 

2
0

Ответ #8

Ответ на вопрос: Как переименовать файлы в подкаталогах?

В Linux вы можете использовать команду «rename» для 9X_input-file пакетного переименования файлов.

1
0