Ich führe eine bat-Datei über die Eingabeaufforderung aus und übergebe ihr 2 vollqualifizierte Namen (dies ist für PGP), und sie läuft einwandfrei.
Wenn ich dieselbe Fledermausdatei von Powershell mit denselben Namen ausführe, wird sie ausgeführt und die Ausgabe erstellt, es wird jedoch die Meldung "Das System kann den angegebenen Pfad nicht finden" angezeigt.
In cmd:
mybatfile.bat e:\dirname\filename.ext e:\dirname\filename.ext
In PS:
./mybatfile e:\dirname\filename.ext e:\dirname\filename.ext
Die Bat-Datei sieht folgendermaßen aus:
@echo off
c:
cd users\username
set inputfile=%1
set outputfile=%2
pgp --encrypt %inputfile% --recipient keyid --output %outputfile% --overwrite remove
windows
command-line
powershell
batch-file
Adesh S.
quelle
quelle
@echo off
und prüfen Sie, ob Ihnen dies Hinweise gibt.PATH
?Antworten:
Ich vermute, Sie sind schuld daran, dass Sie keinen absoluten Pfad angeben. Wenn sich Ihr aktueller Ordner also irgendwo tiefer im Laufwerk c: befindet, versucht Ihr Code, von dort aus den Ordner users \ username zu kopieren, der dort nicht vorhanden ist.
Übrigens sollten Sie Pfade, die möglicherweise Leerzeichen oder andere gefährliche Zeichen enthalten, immer in doppelte Anführungszeichen setzen.
quelle