Папки для пакетної перейменування


3

Чи є спосіб пакетної заміни імен поточних папок з збільшенням числа? Вбудована функція "Перейменувати елементи пошуку" дозволяє лише замінити спосіб "Знайти і замінити текст". Не всі мої поточні назви папок мають загальні символи. Я використовую Mojave, btw.


Ви можете спробувати зробити це за допомогою bash-скрипта. Як зазначено тут unix.stackexchange.com/questions/216659/… Мені подобається рішення @ eapo.
user136952

Відповіді:


4

Ось рішення AppleScript, яке є досить ефективним. Цей код можна зберегти у редакторі скриптів.app як додаток.

set newName to 0
set theFolder to (choose folder with prompt "Choose Folder" with invisibles)

tell application "Finder"
    set theFolders to folders of theFolder 
    set sortedFolders to sort theFolders by name
    repeat with i from 1 to count of sortedFolders
        set newName to newName + 1
        set thisItem to item i of sortedFolders
        set name of thisItem to newName
    end repeat
end tell

enter image description here

Якщо ви віддаєте перевагу однозначним іменам папок у вигляді двозначних цифр (01,02,03 тощо), використовуйте наступну версію сценарію.

set newName to 0
set theFolder to (choose folder with prompt "Choose Folder" with invisibles)

tell application "Finder"
    set theFolders to folders of theFolder
    set sortedFolders to sort theFolders by name
    repeat with i from 1 to count of sortedFolders
        set newName to newName + 1
        set thisItem to item i of sortedFolders
        if newName is less than 10 then
            set name of thisItem to 0 & newName as string
        else
            set name of thisItem to newName
        end if
    end repeat
end tell

Цей наступний код AppleScript перейменує файли у вибраній папці, а не перейменовує папки.

set newName to 0
set theFolder to (choose folder with prompt "Choose Folder" with invisibles)

tell application "Finder"
    set theFiles to files of theFolder
    set sortedFiles to sort theFiles by name
    repeat with i from 1 to count of sortedFiles
        set newName to newName + 1
        set thisItem to item i of sortedFiles
        set nameExtension to name extension of thisItem
        if newName is less than 10 then
            set name of thisItem to 0 & newName & "." & nameExtension as string
        else
            set name of thisItem to newName & "." & nameExtension as string
        end if
    end repeat
end tell

Дякую! Як редагувати це, щоб працювати з зображеннями? Або окремі файли замість папок?
usuallystuck

1
@usuallystuck Я додав третю версію коду для перейменування файлів замість папок
wch1zpink

Спасибі, ти найкращий. Щасливих свят!
usuallystuck

5

Виберіть усі папки, які потрібно перейменувати, клацніть правою кнопкою миші та виберіть "Перейменувати елементи ..."

Коли ви використовуєте функцію "Перейменувати елементи пошуку", ви повинні змінити його з "Замінити текст" на " Формат "у спадному меню:

enter image description here

Тепер ви можете перейменувати його, як хочете:

enter image description here

(Пізніше я додам кращі зображення)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.