Як я можу використовувати командний рядок Windows для зміни розширень тисяч файлів на *****.jpg
?
Як я можу використовувати командний рядок Windows для зміни розширень тисяч файлів на *****.jpg
?
Відповіді:
Ви можете використовувати ren
(як при перейменуванні ):
ren *.XXX *.YYY
І звичайно, переключіть XXX та YYY на відповідні розширення. Він зміниться з XXX на РРРР. Якщо ви хочете змінити всі розширення, просто знову використовуйте підстановку:
ren *.* *.YYY
Один із способів зробити цю роботу рекурсивно - це FOR
команда. Він може використовуватися з /R
можливістю рекурсивно застосовувати команду до відповідних файлів. Наприклад:
for /R %x in (*.txt) do ren "%x" *.renamed
змінить усіх .txt
розширення на .renamed
рекурсивно, починаючи з поточного каталогу.
%x
- це змінна, яка містить відповідні імена файлів.
А оскільки у вас є тисячі файлів, не забудьте почекати, поки курсор знову почне блимати, що вказує на те, що він працює.
Примітка. Це працює лише на cmd. Не працюватимуть на Powershell або Bash
ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt
?
FOR
Перейменувати поведінку іноді "менше, ніж інтуїтивно зрозуміло"; наприклад...
ren * .THM * .jpg перейменовує ваші THM-файли, щоб вони мали розширення .jpg. наприклад: GEDC003.THM буде GEDC003.jpg
ren * .THM * b.jpg перейменує ваші THM-файли в * .THMb.jpg. наприклад: GEDC004.THM стане GEDC004.THMb.jpg
ren * .THM * .b.jpg перейменує ваші THM-файли в * .b.jpg, наприклад: GEDC005.THM стане GEDC005.b.jpg
ПРИМІТКА: не для Windows
Використовуючи ren-1.0 правильну форму:
"ren *.*" "#2.jpg"
З man ren
Шаблон заміни - це інше ім'я файлу з вбудованими індексами підстановки, кожен з яких складається з символу #, після якого цифра від 1 до 9. У новому імені відповідного файла індекси підстановки замінюються фактичними символами, які відповідають посиланням символи підстановки в оригінальному імені файлу.
і
Зауважте, що оболонка зазвичай розширює підстановку * і?, Що у випадку ren небажано. Таким чином, у більшості випадків необхідно вкласти лапки пошуку в лапки.
man ren
? Питання стосувалося Windows / cmd
. Вони зараз надають man
сторінки? Що таке ren-1.0
і як ми можемо переглянути його man
сторінку в контексті?
це просто
ren *.* *.jpg
спробуйте це в командному рядку
Перейменуйте кілька розширень файлів:
Ви хочете змінити ringtone1.mp3
, ringtone2.mp3
щоб ringtone1.wav
,ringtone2.wav
Ось як це зробити: я перебуваю в d-диску в командному рядку (CMD), тому я використовую:
d:\>ren *.* *.wav
Це лише приклад розширення файлів, ви можете використовувати будь-який тип розширення файлів, наприклад WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT, це залежить від вашої операційної системи.
А оскільки у вас є тисячі файлів, не забудьте почекати, поки курсор знову почне блимати, що вказує на те, що він працює.
У моєму випадку у мене був каталог із закінченням 800+ файлів .StoredProcedure.sql
(вони були написані на SSMS ).
Розміщені вище рішення не спрацювали. Але я придумав таке:
(На основі відповідей на пакетне програмування - отримайте відносний шлях файлу )
@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
set B=%%f
set B=!B:%CD%\=!
ren "!B!" "!B:.StoredProcedure=!"
)
Вищеописаний сценарій видаляє підрядку .StoredProcedure
з імені файла. Я впевнений, що його можна пристосувати, щоб охопити більше справ, попросити подати інформацію та бути загальнішими.
set
команди з цієї єдиної один: set "B=%%~nxf"
. ( %%~nxf
є n ame і e x напруження %%f
). %cd%
може бути недійсним, якщо робити це рекурсивно.
Я знаю, що це так давно, але я приземлився на ньому, і надані відповіді не працювали для мене на powerhell, тому після пошуку знайшли це рішення
робити це в повному обсязі
Get-ChildItem -Path C:\Demo -Filter *.txt | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".old")}
кредит переходить до http://powershell-guru.com/powershell-tip-108-bulk-rename-extensions-of-files/
Альтернативний спосіб перейменування файлів за допомогою перейменування npm-пакету.
нижче - приклад перейменування розширень файлів
renamer -d --path-element ext --find ts --replace js *