Ich möchte alle Dateien in einem Ordner in ihren SHA1 HASH-Wert umbenennen.
Ich habe ein Befehlszeilenprogramm, mit dem ich "sha1.exe -s"
den SHA1-Hash-Wert ausgeben kann, aber ich muss alle Dateien in diesem Ordner umbenennen, damit sie mit ihm übereinstimmen (keine Erweiterung).
Im Wesentlichen möchte ich, dass es so funktioniert:
rename file.exe (sha1.exe -s file.exe)
In der Praxis stellt sich so etwas heraus:
forfiles /p E:\software\sha1 /c "cmd /c rename @file (sha1.exe -s @file)"
Ich bin offen für die Verwendung anderer Ressourcen wie Powershell, wenn dies erforderlich ist.
Ich freue mich über jede Hilfe!
windows
command-line
powershell
Craysh
quelle
quelle
Ich kenne weder einen
forfiles
Befehl noch eine/P
Option fürfor
ähnliche Befehle, die ich kenne. Ich vermute also, dassE:\software\sha1
es sich um eine Textdatei handelt, in der die Dateien aufgelistet sind, mit denen Sie arbeiten möchten, ein Pfad pro Zeile.oder wenn Sie es von Hand eingeben:
quelle
/P
akzeptiert die Option ein Verzeichnis, von dem aus die Auflistung ausgeführt werden kann. Also , wenn Sie ersetzenGet-Content
mitGet-ChildItem
, sie ist golden.Das .Net-Framework verfügt über integrierte Hashing-Funktionen. Hier erfahren Sie, wie Sie dies in Powershell tun können, ohne zusätzliche Dienstprogramme zu verwenden.
Um beispielsweise alle Dateien unter c: \ temp umzubenennen, führen Sie den folgenden Befehl aus:
quelle