Sie könnten alternative Datenströme verwenden, um das Kennwort anzugeben.
1) erstellen und speichern Sie Ihre Batch-Datei
2) Mit dem ECHO-Befehl an ‚Ort‘ Ihr Passwort in einem auf Ihre Batch-Datei angehängt ADS
3) verwenden Umleitung das Passwort aus der ADS (Alternativen Daten lesen Stream) Datei
Das Passwort ist sicher, da es mit herkömmlichen Methoden nicht "gesehen" werden kann.
Hier ist, wie es funktioniert:
1) Fügen Sie die folgende Zeile in Ihrem Code:
set /p password=<%~nx0:password
und Batch-Datei speichern.
2) in der Befehlszeile DOS, geben Sie den folgenden Befehl ein:
echo YourPassWord>YourBatchFile.bat:password
Hinweis 1: Bei dieser Linie genau hinschauen Bitte. Beachten Sie die ADS nach dem ':' (Doppelpunkt) Symbol. HINWEIS 2: Beachten Sie, dass auf beiden Seiten des Symbols >
(größer als) keine Leerzeichen stehen.
Als ein Beispiel: Angenommen, Sie die folgende einfache Batch-Datei mit dem Namen GETPASS.BAT, und Ihr Passwort ein
@echo off
set /p password=<%~nx0:password
echo %password%
Nun speichern Sie die Batch-Datei und geben Sie den folgenden Befehl an der DOS-Eingabeaufforderung erstellen wird letmein
:
echo LETMEIN>GETPASS.BAT:password
HINWEIS: Es gibt keine Leerzeichen auf beiden Seiten des Symbols >
(größer als).
jetzt Ihre Batch-Datei ausführen - es sollte nur angezeigt werden:
LETMEIN
Zum Thema Sicherheit keine der folgenden herkömmlichen Methoden wird Ihr Passwort verraten:
COPY getpass.bat:password file.txt
TYPE getpass.bat:password
MORE getpass.bat:password
FIND /V "" getpass.bat:password
Es gibt nur ein begrenzte Anzahl von Möglichkeiten, den Inhalt der ADS-Datei anzuzeigen. Ich überlasse es Ihnen als eine Herausforderung zu sehen, ob Sie es schaffen können. Das macht es aus der Sicht eines Novizen ziemlich sicher.
Darüber hinaus kann die folgende Zeile für Anfänger (und einige Profis) ziemlich irreführend sein, vor allem in Ermangelung von Wissen über ADS.
set /p password=<%~nx0:password
Schließlich, wie Sie sehen können, gibt es keine zusätzliche externe Datei mit Ihrem Passwort. Die ADS ist an Ihre Batch-Datei angehängt. Das bedeutet, wenn Sie Ihre Batch-Datei verschieben oder umbenennen, bewegt sich die ADS mit.Außerdem stellt der %~nx0
Teil des Befehls sicher, dass die ADS gefunden werden kann, wenn Sie die Batch-Datei umbenennen.
Verwandte _SuperUser_ Frage: [Wie füge ich ein Passwort zur automatischen Authentifizierung einer Batchdatei hinzu?] (Https://superuser.com/questions/521278/how-do-i-add-a-password-to-) a-batch-file-to-automatically-authenticate) – JosefZ