возможно ли пакетное переименование из списка, используя файл bat, например, переименовать имя файла.txt в новое имя файла.txt?

Итак, я преподаю в классе, и у нескольких моих учеников есть Mac. Буквально единственное, с чем я столкнулся, это проблема с .bat.

Мы используем Excel, чтобы начать со списка имен файлов в одном столбце и списка новых имен файлов в другом столбце, а затем создать файл bat. Новые имена не интуитивно понятны и не следуют шаблону, поэтому обычная логика не может с этим справиться; мы должны полагаться на список.

У Mac есть что-то, что может работать? Я хотел бы предоставить решение.

Вот как это выглядит в винде (предполагается, что все файлы находятся в одной папке, а bat-файл запускается из корня, так же можно использовать полные пути)

rename accounting2016.xls ID0001.xls
rename vacationphoto01.jpg ID0042.jpg
rename BuildingPlans.docx ID0189.docx

Ответы (2)

Если я правильно прочитал вопрос, вы создаете пакетный файл из какого-то процесса экспорта из столбцов Excel, содержащих команду и два имени файла?

В таком случае вы можете просто изменить renameкоманду на «эквивалент Mac» mv. Теперь файл содержит

mv accounting2016.xls ID0001.xls
mv vacationphoto01.jpg ID0042.jpg
mv BuildingPlans.docx ID0189.docx

Затем вы можете запустить команды, перечисленные в файле, например, с помощью Bash:

bash renames.txt

Обратите внимание, что если имена файлов содержат пробелы или другие специальные символы, вы должны заключать их в кавычки, но я думаю, что это также относится и к Windows.

Я полагаю, вопрос о том, как я запускаю команды в bash, - это другой вопрос. Это просто? Является ли bash родным для Mac или есть установка?
Bash предустановлен на компьютерах Mac. Вы можете запустить команды, перечисленные в файле (например renames.txt, ), открыв окно терминала и выполнив команду bash renames.txtв каталоге, где находится файл — точно так же, как в Windows. Затем Bash считывает отдельные команды из файла строка за строкой, выполняя их одну за другой.

Инструменты командной строки Unix — это то, что вам нужно, и вы или пользователи Mac в вашей группе должны изучить некоторые основные учебные пособия по этому вопросу. Его часто называют программированием оболочки.

Здесь вам нужна команда mv(сокращение от move). Сценарий оболочки, который вы сгенерируете (эквивалент командного файла), будет включать

mv accounting2016.xls ID0001.xls
mv vacationphoto01.jpg ID0042.jpg
mv BuildingPlans.docx ID0189.docx

Обратите внимание, что это точное совпадение, если вы не используете подстановочные знаки. Подстановочные знаки обрабатываются по-разному в командных файлах Windows и оболочках Unix, есть несколько вещей, которые вы можете сделать только с первыми. Это связано с тем, что расширение подстановочных знаков выполняется командой переименования в Windows и оболочкой в ​​Unix.

Использование mv вместо переименования очень просто, спасибо за это. Как запустить сценарий оболочки?
Вы должны прочитать учебник по оболочке - как будто вы задаете этот вопрос, есть и другие вещи, которые вам нужно знать. Но на самом деле запустите команду какsh filename