Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Entpacken mit 7-Zip command line funktionert nur einmal

Frage Entwicklung Batch & Shell

Mitglied: XXXBold

XXXBold (Level 1) - Jetzt verbinden

29.05.2014, aktualisiert 22:18 Uhr, 1795 Aufrufe, 4 Kommentare, 2 Danke

Guten Abend

Ich habe ein Problem mit einer Batchdatei.

Und zwar habe ich zwei mal den fast identischen Ablauf, einzeln funktionieren beide. Wenn sie aber hintereinander bearbeitet werden sollten, dann funktioniert aus irgendeinem Grund nur dasjenige, das als erstes ausgeführt wird. Hier der Code:


01.
REM 1 START 
02.
:1 
03.
mkdir %dtest% 
04.
for /f "delims=" %%i in ('dir /a-d /b "(1)*.*"') do ( 
05.
C: 
06.
cd "%dir7z%" 
07.
7z x "%moddir%\%%i" -o"%dtest%" 
08.
09.
 
10.
del "%dtest%\*.txt" 
11.
xcopy "%dtest%\Data" "%skyrimdir%" /s /e /y 
12.
rmdir /s /q "%dtest%" 
13.
echo 1 DONE! 
14.
REM 1 END 
15.
 
16.
 
17.
IF %gpause%==true pause 
18.
 
19.
 
20.
REM 2 START 
21.
:2 
22.
mkdir %dtest% 
23.
for /f "delims=" %%i in ('dir /a-d /b "(2)*.*"') do ( 
24.
C: 
25.
cd "%dir7z%" 
26.
7z x "%moddir%\%%i" -o"%dtest%" 
27.
28.
 
29.
del "%dtest%\*.txt" 
30.
xcopy "%dtest%" "%skyrimdir%" /s /e /y 
31.
rmdir /s /q "%dtest%"  
32.
echo 2 DONE! 
33.
REM 2 END
Das erste wird korrekt ausgeführt, beim zweiten(Macht auch keinen Unterschied wenn ich erst "2" und dann "1" ausführen lasse) wird "%dtest%" noch erstellt aber wenn 7zip das Archiv entpacken soll, kommt die Meldung "Datei nicht gefunden" und es wird nichts entpackt.

Habe ich irgendetwas übersehen? Warum funktioniert das nicht hintereinander?

Freundliche Grüsse

XXXBold
Mitglied: bastla
29.05.2014 um 21:14 Uhr
Hallo XXXBold!

Das dürfte daran liegen, dass Du mit den Zeilen 5 und 6 (ließen sich übrigens zu
cd /d "%dir7z%"
zusammenfassen) das aktuelle Verzeichnis auf "%dir7z%" änderst (und im dadurch im zweiten Teile in diesem Verzeichnis nach den "(2)"-Dateien gesucht wird) - da es dabei anscheinend nur darum geht, die "7z.exe" aufzurufen, sollte eigentlich ein
"%dir7z%\7z" "%moddir%\%%i" -o"%dtest%"
(und das Weglassen der Zeilen 5 und 6) genügen.

Alternativen: Generell vollständige Pfade verwenden bzw, wenn tatsächlich der Verzeichniswechsel nötig sein sollte, diesen per "pushd" ausführen und danach mit "popd" wieder rückgängig machen ...

Grüße
bastla
Bitte warten ..
Mitglied: XXXBold
29.05.2014 um 22:01 Uhr
Hallo bastla,

Dein erster Tipp mit
cd /d "%dir7z%"
funktioniert super, ist jetzt angenehmer zu lesen, danke. Der zweite
"%dir7z%\7z" "%moddir%\%%i" -o"%dtest%"
gibt bei mir: "Error: Incorrect command line" aus. Ich habe es zuerst wie du gesagt hast mit dem weglassen der 5. und 6. Zeile versucht und danach mit deinem ersten Vorschlag dazu, es kommt beidesmal der Fehler.

Auch wenn ich beim zweiten mal ausführen den Befehl zum verzeichniswechsel weglasse, kommt die Meldung "Datei nicht gefunden".

Oder habe ich etwas missverstanden?

Gruss

XXXBold
Bitte warten ..
Mitglied: bastla
LÖSUNG 29.05.2014, aktualisiert um 22:18 Uhr
Hallo XXXBold!
Ich habe es zuerst wie du gesagt hast mit dem weglassen der 5. und 6. Zeile versucht und danach mit deinem ersten Vorschlag dazu, es kommt beidesmal der Fehler.
Nur die Zeilen 5 und 6 wegzulassen genügt sicher nicht, da dann ja vermutlich die "7z.exe" nicht gefunden wird - daher jedenfalls weglassen + angepasste Zeile 7 verwenden ...
"%dir7z%\7z" "%moddir%\%%i" -o"%dtest%"
gibt bei mir: "Error: Incorrect command line" aus
Da ist mir irgendwo das "x" abhanden gekommen - sollte eigentlich heißen:
"%dir7z%\7z" x "%moddir%\%%i" -o"%dtest%"
Auch wenn ich beim zweiten mal ausführen den Befehl zum verzeichniswechsel weglasse, kommt die Meldung "Datei nicht gefunden".
Da ist es schon zu spät - den Wechsel führst Du ja schon oben (Zeilen 5 und 6) durch.

Du könntest (wenn alle Stricke reißen - aber nur dann ) als Ersatz der Zeilen 5 bis 7 auch
01.
pushd "%dir7z%" 
02.
7z x "%moddir%\%%i" -o"%dtest%" 
03.
popd
versuchen ...

Grüße
bastla
Bitte warten ..
Mitglied: XXXBold
29.05.2014 um 22:20 Uhr
Ja, so funktionierts, auch die weiteren machen jetzt keine probleme mehr!

Super, vielen Dank!

Gruss

XXXBold
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Script zum Entpacken von rar und zip-Dateien (9)

Frage von windows-nutzer zum Thema Batch & Shell ...

Erkennung und -Abwehr
Command Injection: Qnap-NAS-Geräte aus der Ferne angreifbar

Link von magicteddy zum Thema Erkennung und -Abwehr ...

Batch & Shell
gelöst Variable in Makefile durch Shell Command (2)

Frage von nico1999 zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...