pawelsko  Dołączył: 04 Mar 2015
Hurtowa podmiana plików
Mam kilkaset plików .jpg i potrzebuje podmienić je na inne .jpg które mają odmienne nazwy. Warunek jest taki aby pliki po podmianie zachowały nazwy tych "starych".

Może ktoś ma pomysł jak to zrobić automatycznie, pojedynczo - za dużo zabawy.
 
barmiska  Dołączył: 27 Sie 2014
Pewnie nie pomogę w 100%, ale:
1 - jaki system? :-) (windows? jest dostęp do cmd albo powershella?)
2 - po czym poznać jak zamienić np plik ala.jpg na ola.jpg (czy może nowy_01.jpg na 01.jpg?)

Ja bym zrobił w DigiKam'ie, może IrfanView (jak da się łatwo zmienić jedno na drugie, albo nazwy są "kolejne"), ewentualnie listę starych i nowych plików/nazw (dir) wrzucił do excela, obok napisał ="rename " & A1 & " " &B1 i wynik wkleił do cmd.

Jak akcja ma być wielokrotna to może jakiś skrypt w cmd/ps/bash.

Bo zakładam że "podmiana" plików to ich usunięcie i wstawienie nowych na ich miejsce...

Pomogłem choć w 10%? ;-)
Pzdr
 
RPM  Dołączył: 28 Lip 2010
Jeśli to Windows to:

w excelu robimy tabelkę

move /-y nowyplik.jpg katalog\staryplik.jpg

z tyloma wierszami ile jest plików i biorąc po uwagę ścieżki i położenie wynikowego pliku .bat

Listy plików do tabelki generujemy przez z linii poleceń

dir /b > lista-plikow.txt

uwaga na polskie znaki - jeśli były to będą skaszanione.

Listy robimy z obu katalogów.

Potem w excelu synchronizujemy i tak obrabiamy jak napisane na samym początku.

To co wyjdzie przeklejamy przez schowek do notatnika, zapamiętujemy w katalogu takim, żeby ścieżki były ok a potem z linii poleceń uruchamiamy i bzzzzzt i gotowe.
 

eR Gie  Dołączył: 26 Gru 2015
nie żeby mnie to interesowało, zajrzałem z ciekawości i jako laik "powiem" Wam, że podpowiedzi jakie powyżej przeczytałem są dla mnie zupełnie niezrozumiałe.

jeśli jestem odosobnionym przypadkiem, to przepraszam, ale jeśli ktoś, w tym autor wątku,podziela me zdanie, to musicie się panowie bardziej postarać ;-)
 
pawelsko  Dołączył: 04 Mar 2015
Pewnie nie pomogę w 100%, ale:
1 - jaki system? :-) (windows? jest dostęp do cmd albo powershella?)

Windows 7 posiadam . dostęp do cmd albo powershella? - nie wiem co to ?

2 - po czym poznać jak zamienić np plik ala.jpg na ola.jpg (czy może nowy_01.jpg na 01.jpg?)

Nazwy Plików są różne, nie ma logicznej reguły.
Przykład
123455drw.jpg
854789fru.jpg
8354748yte.jpg

teraz mam nowe pliki:
marta1.jpg
marta2.jpg
marta3.jpg


marta1.jpg podminiam z 123455drw.jpg i ma zostać nazwa 123455drw.jpg
marta2.jpg podmianiam z 854789fru.jpg i ma zostać nazwa 854789fru.jpg
marta3.jpg podminiam z 8354748yte.jpg i ma zostać nazwa 8354748yte.jpg.
 

spacja  Dołączyła: 15 Mar 2011
eR Gie napisał/a:
nie żeby mnie to interesowało, zajrzałem z ciekawości i jako laik "powiem" Wam, że podpowiedzi jakie powyżej przeczytałem są dla mnie zupełnie niezrozumiałe.

Dla mnie też. Ale ja akurat mam ten problem z większością wątków na Forum :roll:
 

plwk  Dołączył: 21 Kwi 2006
cmd (konsola z wierszem poleceń) jest w każdym Windows 7
 

galex  Dołączył: 02 Cze 2006
Eeee. tam:

IrfanView:

Plik->Przetwarzanie wsadowe->wsadowa zamian nazw->wzorzec nazwy (opcje) - i tam "Kopiuj pliki źródłowe do katalogu docelowego)
 
barmiska  Dołączył: 27 Sie 2014
plwk napisał/a:
cmd (konsola z wierszem poleceń) jest w każdym Windows 7
Dlatego pytałem o dostęp :-) , bo czasem "...zasady zabezpieczeń grupy uniemożliwiają uruchomienie..." czy coś w ten deseń. Komputery firmowe/korporacyjne/itp.

pawelsko napisał/a:
dostęp do cmd albo powershella? - nie wiem co to
Start - Uruchom - wpisz cmd (i naciśnij enter). Jest wiersz poleceń? Wpisz tam np "dir /?" (bez "") (i naciśnij enter) albo "move /?". Przyda się jeszcze "cd nazwa_katalogu_ze_zdjęciami".

pawelsko napisał/a:
Nazwy Plików są różne, nie ma logicznej reguły.
To skąd wiesz który plik zamienić na który?
Jeśli posortowana lista plików "starych" jest odpowiednikiem posortowanej listy plików "nowych" to tabelka w excelu załatwia sprawę.
Żeby dostać posortowaną listę plików użyj dir w wierszu poleceń.

Jeśli to dalej nie jest ani trochę pomocne (i "kilkaset plików to nie jest 999 :-) ) to ręczna zmiana nazw może nie być taka zła.
Jeśli tylko Ty wiesz, który plik zamienić na który (i nie ma jakiegoś powiązania między ich nazwami), to w sumie jest to jedyna słuszna opcja.

Pzdr.
 
pawelsko  Dołączył: 04 Mar 2015
galex napisał/a:
Eeee. tam:

IrfanView:

Plik->Przetwarzanie wsadowe->wsadowa zamian nazw->wzorzec nazwy (opcje) - i tam "Kopiuj pliki źródłowe do katalogu docelowego)


To by było proste co proponujesz, ale nie wiem do końca czy to jest to o co mi chodzi.
 

Marooned  Dołączył: 14 Paź 2006
Dopiero odkryłem ten wątek. Było już pytane, ale skąd wiesz jaki plik ma zastąpić jaki? Po prostu według kolejności posortowanej alfabetycznie? To jest jakby kluczowe w całym tym zadaniu.

PS, w życiu bym nie wpadł, by do tego zaprzęgać Excela :shock:
 
barmiska  Dołączył: 27 Sie 2014
Marooned napisał/a:
PS, w życiu bym nie wpadł, by do tego zaprzęgać Excela

Po 8h w tabelkach to i obiad można ugotować w Excelu, i psa wyprowadzić...
:mrgreen:
 

zipzip  Dołączył: 06 Sty 2010
A TOTALCMD.EXE plus narzędzie wielokrotnej zmiany (skrót Ctrl-M) nie dałby rady?
 
pawelsko  Dołączył: 04 Mar 2015
Marooned napisał/a:
Dopiero odkryłem ten wątek. Było już pytane, ale skąd wiesz jaki plik ma zastąpić jaki? Po prostu według kolejności posortowanej alfabetycznie? To jest jakby kluczowe w całym tym zadaniu.


Tak w kolejności alfabetycznej
 

fuen  Dołączył: 13 Lis 2012
zipzip napisał/a:
A TOTALCMD.EXE plus narzędzie wielokrotnej zmiany (skrót Ctrl-M) nie dałby rady?

W drugą stronę - tak, ale w tym przypadku nie masz kolejnych nazw dla plików wynikowych i takie narzędzia odpadają. To, co napisał RPM jest proste i skuteczne.
 

Marooned  Dołączył: 14 Paź 2006
Zapisz sobie to w jakimś pliku, np. przenosiny.bat
@echo off

set source=%1
set target=%2
if %target%.==. goto help

setlocal EnableDelayedExpansion
dir /b /o:n %target% > t-temp.txt
3<t-temp.txt (
    for /F "delims=" %%a in ('dir /b /o:n %source%') do (
        set /P newname=<&3
        move %source%\%%a %target%\!newname!
    )
)
del t-temp.txt
goto end

:help
echo Wywolanie:
echo %0 katalog_zrodlowy katalog_docelowy

:end


i odpal:
przenosiny c:\katalog\zrodlowy c:\katalog\docelowy
Kod spodziewa się takiej samej liczby plików w obu katalogach. W innym przypadku trzeba by dodać kilka warunków granicznych.

 
pawelsko  Dołączył: 04 Mar 2015
Marooned, dzięki wypróbuje ...
 
RPM  Dołączył: 28 Lip 2010
O ile się nie mylę to skrypt owszem wgra pliki o ładnych nazwach w miejsce plików o brzydkich nazwach ale zrobi to... losowo... tzn alfabetyczna posortowana listwa plików z ładnymi nazwami zostanie dopasowana do alfabetycznie posortowanej listy plików z brzydkimi losowymi nazwami. Jeśli to nie ma znaczenia to o ile ilość plików jest taka sama to w porządku. Ale jeśli jest jakaś specjalna reguła do zmieniania nazwy typu:

alfabetycznie

123455drw.jpg
8354748yte.jpg
854789fru.jpg

marta1.jpg
marta2.jpg
marta3.jpg

docelowo

123455drw.jpg = marta3.jpg
8354748yte.jpg = marta2.jpg
854789fru.jpg = marta1.jpg

to skrypt się nie nada.
 

Marooned  Dołączył: 14 Paź 2006
Dlatego zapytałem i otrzymałem odpowiedź:
pawelsko napisał/a:
Tak w kolejności alfabetycznej
 
pawelsko  Dołączył: 04 Mar 2015
Głownie chodzi o taką zamianę. Kolejność ma znaczenie ale mniejsze. Posortowanie alfabetycznie jest do zaakceptowania..

Wyświetl posty z ostatnich:
Skocz do:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach