carnap
Goto Top

Batch-Skript mit GPG

Problem bei Batchdatei (Windows)

Windows XP, SP 3; GnuPG 1.4 gestern runtergeladen;
Prinzipielles Vorhaben: Ein Ordner auf meinem USB-Stick soll zuerst mit tar archiviert und danach dieses Tar-File mit GPG verschlüsselt werden. Das funktioniert mit Skripts. Ein anderes Skript soll die verschlüsselte Datei zuerst entschlüsseln, also den User nach dem Passwort fragen und nach Eingabe des Passworts mit tar das Tar-File entpacken und an einen definierten ort verschieben.

Problem: Das Entschlüsseln funktioniert einwandfrei in der Konsole, nicht aber im Skript.
Das Skript:
gpg --decrypt --output protected.tar protected.tar.gpg
del protected.tar.gpg
tar -xvf protected.tar
xcopy M:\protected M:\data /k /r /e /i /s /c /h
del protected.tar
echo Sie koennen nun arbeiten.
pause
Er soll also die Datei protected.tar.gpg entschlüsseln, d.h. den User um das Passwort fragen und nach Eingabe die Datei protected.tar ablegen. Auf der Kommandozeile funktionieren die Befehle, wenn ich sie einzeln eingebe, das Skript selbst aber funktioniert nicht.

Was übersehe ich dabei?

BTW: Im Wurzelverzeichnis befindet sich das Programm tar.exe, und das Programm gpg findet er auch.
Auch Anführungszeichen bei den Dateinamen habe ich probiert, ändert (wie erwartet) auch nichts.

Ich bitte um Hilfe.
Carnap

Content-Key: 101705

Url: https://administrator.de/contentid/101705

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: Carnap
Carnap 13.11.2008 um 10:36:38 Uhr
Goto Top
Übrigens: Ein Skript mit dem Einzeiler
gpg --decrypt --output protected.tar protected.tar.gpg
funktioniert sehr wohl -- ich werde nach dem Passwort gefragt. Das ganze Skript funkt also deshalb nicht, weil nach dem Einzeler noch weitere Zeilen drinnen stehen.

Kann mir jemand sagen, wie der Fehler zu beheben ist? Wird wohl eine Eigenheit von GPG sein.

Carnap
Mitglied: Carnap
Carnap 13.11.2008 um 13:45:44 Uhr
Goto Top
Ich habe den Fehler gefunden. Es waren die Zeilenenden, die nicht gepasst haben. Keine Zeilenumbrüche, und GPG hat sich dann kräftig verschluckt. Batchdateien für Windows verlangen CRLF, eingestellt war in den Einstellungen meines Editors Notepad++ aber etwas anderes. Lösung: Einstellungen --> Tab "Neues Dokument" folgende Einstellungen:
  • Formatierung: Windows
  • Encodierung: ANSI
  • Standardsprache: Batch (und nicht: "Normal Text" wie voreingestellt)
Siehe: http://www.joachim-gehweiler.de/software/crlf.php

Ich darf das, das sind meine ersten Schritte in der Batchprogrammierung face-wink

Carnap