znuk82
Goto Top

Batchfile das GPG automatisch entschlüsselt

Hallo Liebe Kollegen,

auf einem S-FTP-Server hole ich mit Goodsync Daten ab, nach dem er die Daten geholt hat startet automatisch folgendes Batch-Skript:

@echo off

timeout /t 10 /nobreak

:test
set /a loop =%loop%+1
echo %loop%

for /f %%f in ('dir /b *.gpg') do set File=%%f
echo Erste Datei ist %File%

gpg --passphrase xxx -o Y:\manfred.mustermann\daten\Neu\%File% -d c:\test\%File%


ren Y:\manfred.mustermann\daten\Neu\*.gpg *.

del %file%

If %loop% == 10 goto aus
goto :test

:aus
end

Ohne Good Sync Funktioniert das Batch er öffnet die Daten entschlüsselt sie, kopiert sie, löscht sie. Goodsync startet auch das Batch und es läuft aber Daten nur gelöscht.

Hat jemand von euch eine andere idee wie ich das lösen könnte? Idee is quasi das die verschlüsselten Daten bei eingang auf FTP automatisch heruntergeladen werden, dann entschlüsselt und ins richtiges Verzeichnis verschoben + noch ne Email an den Sachbearbeiter.

hoffe ihr könnt mir helfen!

Vielen Dank schon mal fürs durchlesen.

greetings znuk

Content-Key: 279129

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

Printed on: April 23, 2024 at 20:04 o'clock

Member: beidermachtvongreyscull
beidermachtvongreyscull Aug 04, 2015 at 07:55:48 (UTC)
Goto Top
In welchem Nutzerkontext läuft denn GoodSync?
Du sprichst gpg mit relativem Pfad an. Goodsync muss also wissen, wo es liegt.
Das scheint aber nicht der Fall zu sein.

Entweder Du erweiterst die PATH-Variable um das Verzeichnis, in dem gpg.exe liegt oder Du erweiterst den Aufruf der Datei durch Voranstellen des absoluten Pfades
(C:\Programme\etc\gpg.exe)
Member: znuk82
znuk82 Aug 04, 2015 at 08:10:06 (UTC)
Goto Top
danke für deine antwort

aus dem goodsync geöffnet kommt fehlermedlung da nimmt er im test file c:\\test\
wenn ich die batch normal ausführe funktioniert es tadellos...


kann ich hier
for /f %%f in ('dir /b *.gpg') do set File=%%f

auch nen direkten pfad angeben weil so nimmt er nur das wo das batchfile drin liegt und iwi macht das glaub probleme!

greetings
Member: beidermachtvongreyscull
beidermachtvongreyscull Aug 04, 2015 at 08:11:34 (UTC)
Goto Top
Sorry.
da kann ich nicht weiterhelfen.

Batch ist nicht mein Gebiet, aber mit Sicherheit kann Dir einer der Kollegen da Rat geben.
Member: Endoro
Endoro Aug 05, 2015 updated at 02:09:04 (UTC)
Goto Top
Zitat von @znuk82:
auch nen direkten pfad angeben weil so nimmt er nur das wo das batchfile drin liegt und iwi macht das glaub probleme!

Hey,
natürlich kannst du dort einen direkten Pfad angeben.
for /f "delims=" %%f in ('dir /b "X:\direkter Pfad\*.gpg"') do set "File=%%~f"  
So wird allerdings die "letzte" Datei bzw. ihr Name zurückgeliefert, je nachdem wie sortiert wird.
Gruß, Endoro
Member: znuk82
znuk82 Aug 05, 2015 at 08:23:27 (UTC)
Goto Top
so ihr lieben danke für die Hilfe so funktioniert es:

Goodsync einstellen das nach sync c:/test/auto.bat gestartet wird

Die Auto.Bat:

@echo off
rem timeout /t 10 /nobreak
:test
set /a loop =%loop%+1
echo %loop%
rem echo "%~dp0"
for /f "delims=" %%f in ('dir /b c:\test\*.gpg') do set File=%%f
echo Die %loop% Datei heißt %File% und wird gelöscht!
"C:\Program Files (x86)\GNU\GnuPG\pub\gpg.exe" --passphrase XXX -o Y:\test\test\Neu\%File% -d c:\test\%File%
ren Y:\test\test\Neu\*.gpg *.
del c:\test\%file%
If %loop% == 10 goto aus
goto :test
:aus
end

Leider muss man jetzt noch einmalig das Passwort eingeben, das konnte ich noch nicht lösen aber vom Prinzip funktioniert es jetzt tadellos die GPG dateien werden in einen neuen Ordner kopiert und umbenannt in dem ich das.gpg einfach lösche face-smile

Sollte jemand idee wg. des Passwortes haben könnt ihr euch gerne melden ;)

greetings