Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Dzień dobry,
pojawiam się z problemem masowej zmiany nazw plików. Problem może być rozwiązany programem jeśli jakiś potrafi albo skryptem.
Problem przedstawia się następująco, mam plik o dowolnej nazwie "Plik 87.avi" rozszerzenia są różne. Chodzi o dodanie zera przed numerem pliku => "Plik 087.avi" bez zmiany reszty nazwy. Cała forma pliku to: "[HorribleSubs] Fairy Tail - 12 [720p].mkv"
Nie znam się na skryptach, więc nawet nie próbowałem tą drogą. Programów szukam, ale są głównie do zmian nazw, dodawania dat, a mi chodzi o dodanie tylko jednej cyfry przy zachowaniu reszty pliku.
Jeśli zły dział to proszę o przeniesienie.
Pozdrawiam
Artur
Offline
Krótko: [deb]krename[/deb]
Długo:
[quote=buri]mi chodzi o dodanie tylko jednej cyfry przy zachowaniu reszty pliku.[/quote]
To nie jest taka sprawa, jak może Ci się wydawać.
Weźmy tę nazwę pliku, którą podałeś: [i][HorribleSubs] Fairy Tail - 12 [720p].mkv[/i].
Pierwsza rzecz — w tej nazwie pliku są dwa zestawy cyfr. Program musi wiedzieć, o którą z nich Ci chodzi.
Druga rzecz — jaka jest gwarancja, że cyfry nie wystąpią nigdzie [b]przed[/b] „12” z tej nazwy pliku? Jaka jest gwarancja, że interesujący numer znajduje się pomiędzy spacją-myślnikiem-spacją a otwarciem nawiasu kwadratowego? Czy wszystkie pliki mają uspójnione nazwy?
Trzecia rzecz — jestem niemal pewien, że Ty nie chcesz dodać zera przed numerem pliku, a chcesz, aby numery w plikach zajmowały stałą liczbę cyfr, z uzupełnieniem poprzedzającymi zerami. A to oznacza, że dla plików które w nazwie mają jedną cyfrę, musisz dopisać dwa zera; dla plików które mają liczby dwucyfrowe — jedno zero; dla plików które mają nazwy trzycyfrowe — nic nie robić. Jaka jest gwarancja, że nigdzie w tym zbiorze nie wystąpi plik z czterema cyframi w nazwie?
To podstawowe kwestie, do których musisz się odnieść, zanim w ogóle zaczniesz cokolwiek robić.
Offline
To może python? :D
Offline
Ehh problem się rozwiązał trochę sam ... chyba thunar mi zgłupiał (nie mam pojęcia dlaczego) i nie potrafił wcześniej ustawić plików w jeden kolejności. Pobawiłem się trochę, trochę pokombinowałem i jakoś zaskoczyło o dziwo. Męczyłem się z tym dobre 3 dni, dlatego chciałem zmienić nazwę.
Temat do usunięcia, bo jakby problemu nie było.
Za dużo kombinacji :P
Ostatnio edytowany przez buri (2012-05-22 23:06:24)
Offline
Dwie uwagi:
1. Na DUG-u nie usuwamy ani nie zamykamy wątków.
2. Problem tak naprawdę nie jest rozwiązany, a jedynie sprytnie przykryty. Akurat używasz takiego menedżera plików, który w tej chwili potrafi wykryć, że ma do czynienia z kolejnymi plikami i potrafi je posortować zgodnie z kolejnością liczbową, a nie alfabetyczną (czyli wie że 2 jest przed 10). Inne programy, np. konsolowe ([tt]ls[/tt]), tego nie potrafią i uwydatnią problem zidentyfikowany w tym wątku.
Chociaż rozumiem, że z Twojej perspektywy nie różni się to niczym od rozwiązania problemu. Dobrze więc, że już wszystko jest w porządku :) .
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00020 | SET NAMES latin2 |
0.00085 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.217.118.7' WHERE u.id=1 |
0.00110 | UPDATE punbb_online SET logged=1732283474 WHERE ident='18.217.118.7' |
0.00073 | SELECT * FROM punbb_online WHERE logged<1732283174 |
0.00089 | SELECT topic_id FROM punbb_posts WHERE id=202360 |
0.00016 | SELECT id FROM punbb_posts WHERE topic_id=21298 ORDER BY posted |
0.00073 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=21298 AND t.moved_to IS NULL |
0.00013 | SELECT search_for, replace_with FROM punbb_censoring |
0.00232 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=21298 ORDER BY p.id LIMIT 0,25 |
0.00230 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=21298 |
Total query time: 0.00953 s |