5

Я использовал утилиту Bulk Rename и у меня возникли некоторые проблемы. У меня есть несколько файлов с именами, такими как 664722.pdf , 664762.pdf и 664722-1.pdf которые мне нужно переименовать. Проблема в том, что я должен переименовывать около 50 из них одновременно.

Итак, я конвертирую сверху вниз.

664722.pdf              664762.pdf              664722-1.pdf
664722-LabelProof.pdf   664762-LabelProof.pdf   664722-1-LabelProof.pdf

Итак, сейчас я должен сделать ([0-9]{6})(-[0-9])? и назовите файлы для \1\2-LabelProof а затем вернитесь к ([0-9]{6})(-[0-9])? и назовите файлы \1-LabelProof Я нахожусь на окнах.

Может ли кто-нибудь придумать Regex, который может одновременно соответствовать 664722 и 664722-1, и я все еще могу вызвать что-то, чтобы преобразовать обе работы с подпрограммами и без подпрограмм для получения -LabelProof в конце.

Я думал о сопоставлении чего-то вроде .pdf, чтобы заменить его на -LabelProof.pdf, но это не будут просто эти PDF-файлы. Это только новые, и я должен оставить все остальные в покое.

2 ответа2

3

Использовать ([0-9]{6}(-[0-9])?)\.pdf и замените на \1-LabelProof.pdf . Это сделает так, что \1 включает все до .pdf , как для файлов с тире, так и без, и число.

Это соответствует шести числам в строке, затем соответствует тире и числу в форме -3 либо 0, либо 1 раз. В основном шесть чисел и затем - number если оно там.

1

([0-9,\-]{6,8}).pdf - это то, что я в итоге использовал. Он соответствует цифре или символу - от 6 до 8 раз, а затем расширению, чтобы предотвратить повторное переименование тех, которые уже были переименованы, например, 665485-LabelProof.pdf , и добавление тире. Не самый лучший, но это работает.

Плохая часть этого заключается в том, что он также будет соответствовать именам файлов, например --1-45-8.pdf и без .pdf в конце, как я уже говорил, он также заменит

664722-1-LabelProof.pdf
664722-1-LabelProof-LabelProof.pdf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .