Szerteágazó könyvtárfában zip és rar fájlok kibontására lenne szükség a könyvtárstruktúra bejárásával. Mit érdemes ehhez használni?
Nem tudom, hogy olyan parancssori tömörítőn kívül, amely mindegyiket ismeri, van -e más alternatíva...
Az egyenként történő kicsomagolás nagyon bonyolult és időigényes lenne...
További probléma, hogy nem tudok bat fájlt írni rá, mert a
dir/b/s *.zip > kimenet.txt
dir/b/s *.rar >> kimenet.txt
kimenetbe kerülő ékezetes könyvtárnevekkel nem működne a dolog, valahogy a Windows parancssor nem szereti az ilyesmit és mivel ékezetesek a könyvtárnevek, nem találja meg őket ha ékezetesen szeretnék belépni a bat fájllal a cd parancs segítségével.
Linux-ot is tudnék használni e feladat elvégzéséhez, ez esetben viszont a pipe-oláshoz nem értek, gondolom a ls -lr, unrar és unzip programokat kellene összepipe-olni és megfelelően paraméterezni...
Vagy félreértelmezem a feladatot, vagy tényleg ennyire egyszerűen megoldható(?):
Keresés: *.zip. Ez megtalálja az összes zip kiterjesztésű fájlt egy adott helyen belül. Ezeket behúzod egy kicsomagoló programba, a *.rar fájlokkal ugyanezt teszed. Végül kibontás.
#1: utánanézek.
#2: ha ilyen módon oldanám meg, akkor szerintem azt venné aktuális könyvtárnak a kicsomagolásnál, ahol éppen állok és nem úgy történne, hogy minden könyvtárban a kicsomagolt zip vagy rar fájllal azonos helyre kerül a kicsomagolt fájl...
Ha elfogadod írtam egy kis szösszenetet Delphi-ben - Windows alá - ami lekezeli az ékezetes, szóközös, stb.. neveket is, rekurzivan keres zip és rar fájlokat a kiinduló könyvtárból. Használatához 7-Zip kell.
Nagyon köszönöm, ez jól hangzik.
Nem tudom, olyan Feature-et kérhetnék, hogy kicsomagoláskor ha az adott fájl már létezik, akkor felülírja (yes to all), valamint ha sikeres volt a kicsomagolás, törli az adott zip/rar fájlt.
Ha FPC alatt tudna fordulni a forráskód, nagyon érdekelne. Nagyon köszönöm, hogyidőt szántál a problémára.
Az az igazság már egyszer írtam neked rá választ, de valószínűleg az 1-es bitek beakadtak az UTP kábel kanyarbába és nem jutott el a célig :).
A létező fájlokat a 7-Zip alapból alapból felülírja tapasztalatom szerint. A kicsomagolás sikerességének vizsgálatához majd átnézem a 7-zip visszatérő hibakódjait. A kód elvileg Lazarus alatt is fordítható - Windows alatt - a ShellExecute WIN API függvény ami köti a Windows-hoz, de ez kiváltható mással is, Delphi miatt kapásból ez jött :)
Ha van időd, vagy kedved, írd meg, nem akarnálak ezzel terhelni.
Sajnos én nem rendelkezem olyan programozói tudással hogy megírjam Pascal-ban, igazából sose értettem a FindFirst/Findnext stb működését...
Nem tudom azt sem, hogy oldható meg, hogy ne akadjon ki soha, vagy ha ki is akad, vagy folytassa ahol hiba volt valamiért, vagy írja fájlba a listát amit eddig megcsinált.
Bocs, már ki is ment a fejemből. Előtte azzal küzdöttem, hogy a consolból visszatérő 7z.exe errorlevel-jét elkapjam - 0 ha hiba nélkül lefutott - de sem a ShellExetute, sem a ShellExecuteEx nem alkalmas rá. Talán külön szálon való futtatáskor visszakapom, de még azt nem néztem, mert minden nap hol az egyik, hol a másik unokám - gyerekem volt itt, amikor meg lett volna időm akkor az 'utózöngémmek' a 18 éves fiamnak segítettem be Power Point bemutatót készíteni a magyar agráriumról :)
Off:
Nehéz a szülők, nagyszülők, férjek élete. Most is mosni és főzni fogok, mert az asszony minden nap reggel 5-től délután 3-ig 'odavan' dolgozni :(
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!