Wykonuję plik nietoperza z wiersza polecenia, przekazując mu 2 w pełni kwalifikowane nazwy (dotyczy PGP) i działa dobrze.
Kiedy wykonuję ten sam plik nietoperza z programu PowerShell, przekazując mu te same nazwy, uruchamia się i generuje dane wyjściowe, ale wyświetla komunikat „System nie może znaleźć określonej ścieżki”.
W cmd:
mybatfile.bat e:\dirname\filename.ext e:\dirname\filename.ext
W PS:
./mybatfile e:\dirname\filename.ext e:\dirname\filename.ext
plik nietoperza wygląda następująco:
@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.
źródło
źródło
@echo off
i sprawdź, czy to daje ci jakieś wskazówki.PATH
?Odpowiedzi:
Wydaje mi się, że twoja wina polega na tym, aby nie podać absolutnej ścieżki, więc jeśli bieżący folder znajduje się gdzieś głębiej na dysku c: twój kod próbuje skąd cd do folderu user \ nazwa użytkownika, którego tam nie ma.
BTW, powinieneś zawsze podwoić cudzysłowy, które mogą zawierać spacje lub inne zwięzłe znaki.
źródło