Як я можу використовувати командний рядок 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 *