21

Re: Масове перейменування файлів

koala написав:
makajaha написав:

Доброго вечора, шановні!

Будь ласка, допоможіть вирішити наступну задачку:
Є перелік файлів, в яких в назві потрібно видалити декілька символів з початку і декілька з кінця, наприклад, є файли 2020.01.20_хххх_15.06.doc і 2020.03.05_ххххххх_22.01.doc, де в назві потрібно залишити тільки хххх.doc і ххххххх.doc. Файлів звичайно значно більше, але у всіх файлів потрібно видалити в назві однаково перших 11 символів і останніх 6 символів.

Думав, що впораюсь за допомогою групового перейменування в Total Commander, але, нажаль, такої функції там не знайшов. :(

Погано шукали. Ctrl+M - мульти-перейменовування; після цього треба написати правильний регулярний вираз. Наскільки я розумію, у вашому випадку

Шукати: ([0-9.]*)_(.*)_([0-9.]*)\.(.*)
Замінити на $2.$4

і поставити галочку на RegEx. Принаймні, так пишуть.
У будь-якому разі там буде показано, що як перейменується, перед запуском перейменування.

Дякую, вийшло! Це те, що потрібно!

22 Востаннє редагувалося ExPy (01.08.2020 11:58:45)

Re: Масове перейменування файлів

ВИДАЛЕНО БО МОСКАЛIЗМ

Коала i UR_NAX гарантують!

Подякували: makajaha1

23

Re: Масове перейменування файлів

ExPy написав:

Ну вже, знав би, то сам би скомпiлював программу. Просто люди недовiрливо ставляться до чужих ехе в iнетi.
А так, ваша помилка каже, що не знайдено user32.lib, яку треба було вказати в настройках проекту.

Насправді - мені дуже цікаво проходити всі ці квести, але нажаль в даний період бракує часу на більш пріоритетні справи.
Якщо скомпілюєте, то буду вам дуже вдячний!

24 Востаннє редагувалося ExPy (01.08.2020 11:58:48)

Re: Масове перейменування файлів

ВИДАЛЕНО БО МОСКАЛIЗМ

Коала i UR_NAX гарантують!

Подякували: makajaha1

25

Re: Масове перейменування файлів

ExPy написав:

Будь ласка
шлях D:\\rename\\ , росширення eps
Цей контент доступний тільки зареєстрованим користувачам.

Не діє :(. Антивірус блокує.
Як з'явиться час, то спробую сам доробити в пеллес сі.

26 Востаннє редагувалося ExPy (01.08.2020 11:58:52)

Re: Масове перейменування файлів

ВИДАЛЕНО БО МОСКАЛIЗМ

Коала i UR_NAX гарантують!

Подякували: makajaha1

27

Re: Масове перейменування файлів

А в чому сенс робити код для разової задачі на С (та ще й пишучи код, заточений під конкретну ОС та середовище розробки)? Там більше наморочитеся з компіляцією коду на чужій машині (що, власне, ви й зробили), ніж виграєте часу від автоматизації.

PHP — в принципі, можна щось таке робити й на голому php без веб-сервера (просто треба знати, як запускати), а тягти цілий денвер для такої дрібниці (якщо в скрипті ніякої взаємодії з веб-інтерфейсом нема) — якось трохи аж занадто. Просто всі звикли, що php — це для веб-серверів, хоча тут сервер непотрібен.

Якби це робив я, то взяв би теж щось інтерпретоване (python, perl, батник з використанням sed, і т.п.) — порівняно з php, дещо простіше встановити й запустити з командного рядка.

Подякували: pluszz, makajaha2

28 Востаннє редагувалося koala (23.07.2020 08:52:36)

Re: Масове перейменування файлів

кредо справжнього програміста

https://replace.org.ua/uploads/images/931/0a0e1b7a6bd6f3a2729d220c3a9a3f29.jpg

29

Re: Масове перейменування файлів

ExPy написав:

господи боже, та виключте антивiрус.. логiчно шо блокує.
короче, давайте закриєм цю тему. Я не вмiю пояснювати, вибачте. Думав, що ви программiст або бiля того.
Користуйтесь тоталом чи чим там порадили, все.

Антивірус, нажаль, не зможу вимкнути :(
Гаразд, і ви вибачайте, що я вас піднапряг. Я не програміст і думав, що ви це давно зрозуміли. :)
Тотал дійсно виходить більш гнучкий для групового перейменування, так як не завжди потрібно одну і ту ж саму кількість символів видаляти.
Дякую усім хто відгукнувся і підтримав, а особливе дякую koala!
Тему можна закривати.

30 Востаннє редагувалося ur_naz (23.07.2020 12:31:24)

Re: Масове перейменування файлів

тільки ехру вимкніть за шкідливі поради і свинособачі кальки

31

Re: Масове перейменування файлів

ur_naz написав:

тільки ехру вимкніть за шкідливі поради і свинособачі кальки

Не зрозумів, якщо чесно. Це до мене звернення? Що таке ехру?

32 Востаннє редагувалося ExPy (01.08.2020 11:58:55)

Re: Масове перейменування файлів

ВИДАЛЕНО БО МОСКАЛIЗМ

Коала i UR_NAX гарантують!

33

Re: Масове перейменування файлів

Нікто не відмінял:

2.4. Будь-які образи та погрози в адресу користувачів форуму. Вживання нецензурних слів/виразів.

От і подивимося, як так звані модератори виконують свої обов'язки. І чому так багато кацапійщини в Україні і зокрема на цьому форумі... Може їдло не те, або питво...

34 Востаннє редагувалося ExPy (01.08.2020 11:58:59)

Re: Масове перейменування файлів

ВИДАЛЕНО БО МОСКАЛIЗМ

Коала i UR_NAX гарантують!

Подякували: 0xDADA11C7, Betterthanyou2

35 Востаннє редагувалося P.Y. (31.07.2020 18:27:06)

Re: Масове перейменування файлів

P.Y.,там нiчого складного нема, скомпiлював i запустив; скажiмо пан iндус чи пан коала не мали би проблем з тим кодом на Сi чи з виключенням авера.

Бо вони частіше мають справу з С/С++. А користувач може й не бути програмістом-сішником, як і програмістом взагалі. Програма має розповсюджуватись у такий спосіб, щоб будь-який ламер, виконавши пару простих інструкцій, міг її запустити. Не «постав важке пропрієтарне ІДЕ й залізь кудись-там у меню. О, а ще там галочку треба зняти», а щось на рівні «make; make install» — на жаль, культура розповсюдження опенсорсних продуктів для windows так і не сформувалась, тому кількість додаткових дій буде дещо більшою...

i чим РНР складнiше пiтона чи перл? Хто на шо вчився.. все скрiптовi мови.

Трохи складніше з точки зору запуску: php для cgi (який простіше пристосувати для дій з командного рядка), php-сервер, php-модуль для веб-сервера — який із варіантів краще вибрати? З точку зору складності коду, різниця з чистим perl'ом чи python'ом невелика, звичайно.
Найкомпактнішим вийшов би батник з використанням sed або perl — щось назразок такого:

dir/b *.doc|sed "s/^[0-9.]_\([^_]*\)_[0-9.]\.doc$/ren \0 \1.doc/; /^ren /!d">tmpren.bat
call tmpren.bat
del tmpren.bat

(Я не тестив, але десь приблизно так).
Якби перейменування було трохи простішим (напр., дописати щось перед ім'ям або розширення поміняти), можна було б обійтись і зовсім без sed, використавши вбудовану команду for.

P.S. Виправив дещо. Попередній варіант теж працював би (якщо я більш ніде не накосячив), але через відсутність call відбувався перехід на згенерований тимчасовий батник, який після завершення лишався на диску невидаленим.
P.P.S. Ще трохи підправив — попередня версія не викидала зі списку імен файлів, що перейменуванню не підлягали (якщо такі були в директорії), і намагалась їх просто запустити. В принципі, є ще деякі потенційні дірки, але це потім.

Подякували: leofun01, pluszz, makajaha3