llaprosper
Goto Top

Batch Befehl soll Datei mit Name.csv erstellen, macht aber Name-csv

Ich habe hier eine Batch Datei, die unter anderem so aussieht:

SET DATAFILE=FE_Germany.csv
SET PASSWORD=xxxxxxxxxxxxxxxxxxxxx

SET FILE=%ROOTPATH%%DATAFILE%

REM Delete the old file and encrypt the new one

cd C:\Program Files\Axon Data\AxCrypt\

del %FILE%.AXX

axcrypt -c -e -k "%PASSWORD%" -z "%FILE%" -t

Die vorhandene Datei FE_Germany.csv soll mit Axcrypt verschlüsselt werden und als FE_Germany.csv.axx speichern.
Vorher wird die alte .axx Datei gelöscht.
Er speichert sie aber als Name-csv.axx und ich weiß nicht warum.

Die Batchdatei habe ich von einem Client auf einen Server gezogen und angepasst.
Führe ich sie auf dem Client aus, macht er mir Name.csv.axx.
Das gleiche am Server... und Name-csv.axx?

Hat einer ne Ahnung wo das - herkommt??

live long and prosper

Content-ID: 42503

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

Ausgedruckt am: 26.11.2024 um 00:11 Uhr

miniversum
miniversum 18.10.2006 um 16:33:01 Uhr
Goto Top
Wenn du den Dateinamen in Anführungsstriche setzt. gehts dann?

miniversum
llaprosper
llaprosper 18.10.2006 um 16:45:13 Uhr
Goto Top
Muss ich mal schauen, hab erst mal eine alte Programmversion von Axcrypt genommen, dann geht es auch!
Biber
Biber 19.10.2006 um 19:50:21 Uhr
Goto Top
Moin IIaprosper,

zwei Anmerkungen zu Deinem Problem:

1. Aus meiner Sicht ungeschickt optimierbar:
a) sowohl Client wie Server greifen auf ein lokal installiertes AXCrypt zu. ["c:\Program Files..."]
--> Stelle sicher, dass beide die gleiche Version nutzen, nämlich eine auf dem Server bereitgestellte.
b) dann hast Du auch nicht das Phänomen der unterschiedlichen Verhaltensweisen.
Ich verwette mein Pausenbrot darauf, dass bei den beiden Rechnern unterschiedliche Versionsstände vorliegen.

c) Handwerklich:
cd C:\Program Files\Axon Data\AxCrypt
bringt Dir aus zwei Gründen gar nichts.
Erstens ist ein Leerzeichen im Verzeichnisnamen, es müsste also
cd "C:\Program Files\Axon Data\AxCrypt" ...heißen,
zweitens wechselt das nur das aktuelle Verzeichnis auf Laufwerk C:.
Wenn Dein Anwender diesen Batch von seinem Laufwerk D: oder T: aus startet, ändert sich nichts relevantes.

Also müsste es "cd /d C:\Program Files\Axon Data\AxCrypt" heißen, was aber auch Unfug ist.
Denn Du willst doch gar nichts auf diesem Lw/Verzeichnis, außer die dort liegende Axcrypt-Exedatei starten.
Dann wiederum wäre es richtiger zu schreiben:
Set "AxCryptEXE=\\AllgemeinBekannterServer\AXCryptGeraffel\AxCrypt.exe"
%AxCryptExe% [...parameter..] file

2) Gleiche/wiederfindbare Output-Namen erzwingen:
Ob nun aus "Beispiel.txt" durch das Verschlüsseln eine Datei "Beispiel.txt.axx" oder eine Datei "Beispiel-txt.axx" werden sollte.... lass darüber andere philosopieren.
Du kannst für Deine Zwecke in Deinem Batch mit der AxCrypt-Option "-n" festlegen, wie die erzeugte Datei heißen soll.
Den bisherigen Namen der Datei kannst Du mit den FOR-Parametern "%~ni" und "%~xi" aufdröseln - Beispiele siehe unter "Batch und Shell".

Gruß
Biber
llaprosper
llaprosper 19.10.2006 um 20:39:37 Uhr
Goto Top
Hi, danke für die Antwort. Ja es waren verschiedene Versionen. Damit kein Mißverständniss entsteht:
Ich will die Batch nur noch auf dem Server ausführen und nicht mehr auf dem Client!
Den Befehl cd C:\Program Files\Axon Data\AxCrypt hab ich gelöscht und statt dessen den Path angepasst.
Es muss . und nicht - heissen, weil die Datei automatisch auf unseren amerikanischen Server kopiert wird und die verlangen halt genau den Namen!
miniversum
miniversum 19.10.2006 um 20:52:03 Uhr
Goto Top
Ist zwar unschön aber vielleicht danach die Datei umbenennen? von Name-cvs udn Name.cvs?

miniversum
llaprosper
llaprosper 19.10.2006 um 20:58:10 Uhr
Goto Top
hatte ich auch gemacht, aber wie gesagt mit ner älteren axcrypt Datei klappt es jetz!
Biber
Biber 19.10.2006 um 21:07:38 Uhr
Goto Top
@iiaprosper:
Du kannst für Deine Zwecke in Deinem Batch mit der AxCrypt-Option "-n" festlegen, wie die erzeugte Datei heißen soll.

Jedenfalls in den Versionen von AXCrypt, die ich kenne, gibt es die Möglichkeit, den Namen der Output-Datei explizit festzulegen.

[Ist mir ja im Prinzip egal, aber wenn ich lese:
"Dann nehme ich halt eine ältere Version, weil es mit der funktioniert..."

Wenn dann mal in Deinem Weihnachtsurlaub ein übereifriger Praktikant feststellt, dass ihr ja noch die Version 0.8a auf dem Produktivserver laufen habt, obwohl für alle anderen die Version 1.7.2 </i>state-of-the-art</i> ist und er Dir eine Freude machen will und updatet...]

However, kannst Du den Beitrag auf "Erledigt" setzen bitte?

Thx
Biber