
134864
27.11.2017, aktualisiert um 20:03:40 Uhr
Powershell Skript richtig schreiben
Hallo liebe Community,
ich arbeite seit einigen Tagen mit der Powershell.
Meine Aufgabe ist es ein Skript zu schreiben welches eine Datei aus dem Internet herunterlädt, diese Speichert und mit einer vorhanden Datei vergleicht.
Soweit so gut. Das Herunterladen funktioniert ohne Probleme.
Eine weitere Funktion soll sein das anhand der MD5 Checksumme geprüft wird ob diese Datei schon existiert.
Über die Befehele:
#Ausgabe der 1. MD5 CHecksumme
Get-FileHash $test -Algorithm MD5
#Ausgave der 2.MD5 Checksumme
Get-FileHash $test1 -Algorithm MD5
#Vergleich der Variablen + Checksummen = True/False
((Get-FileHash "$test").hash) -eq ((Get-FileHash "$test1").hash)
Ich habe mir die Finger wund gesucht um den Befehel bzw. einen Ansatz dafür zu finden jetzt zu sagen:
- Wenn der MD5 Wert ungleich der heruntergelanden Datei ist, dann lösche die vorhande Datei und ersetze sie mit der neuen.
Über Antworten würde ich mich freuen.
Ich habe auch die Suchfunktion genutzt, jedoch keinerlei Beiträge gefunden die dieses Problem ansprechen bzw. in die Richtung gehen.
Danke und schönen Abend
ich arbeite seit einigen Tagen mit der Powershell.
Meine Aufgabe ist es ein Skript zu schreiben welches eine Datei aus dem Internet herunterlädt, diese Speichert und mit einer vorhanden Datei vergleicht.
Soweit so gut. Das Herunterladen funktioniert ohne Probleme.
Eine weitere Funktion soll sein das anhand der MD5 Checksumme geprüft wird ob diese Datei schon existiert.
Über die Befehele:
#Ausgabe der 1. MD5 CHecksumme
Get-FileHash $test -Algorithm MD5
#Ausgave der 2.MD5 Checksumme
Get-FileHash $test1 -Algorithm MD5
#Vergleich der Variablen + Checksummen = True/False
((Get-FileHash "$test").hash) -eq ((Get-FileHash "$test1").hash)
Ich habe mir die Finger wund gesucht um den Befehel bzw. einen Ansatz dafür zu finden jetzt zu sagen:
- Wenn der MD5 Wert ungleich der heruntergelanden Datei ist, dann lösche die vorhande Datei und ersetze sie mit der neuen.
Über Antworten würde ich mich freuen.
Ich habe auch die Suchfunktion genutzt, jedoch keinerlei Beiträge gefunden die dieses Problem ansprechen bzw. in die Richtung gehen.
Danke und schönen Abend
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 356248
Url: https://administrator.de/forum/powershell-skript-richtig-schreiben-356248.html
Ausgedruckt am: 02.04.2025 um 21:04 Uhr
21 Kommentare
Neuester Kommentar
Guten Abend,
versuche es einmal so:
Gruß,
Dani
versuche es einmal so:
cd "C:\Temp"
$test1 = Get-FileHash "C:\Temp\test1\forum2017_18.pdf" -Algorithm MD5
$test2 = Get-FileHash "C:\Temp\test2\forum2017_18.pdf" -Algorithm MD5
if ($test1.Hash -ne $test2.Hash) {
write-host "Download Datei"
}
else {
Write-Host "Dateien sind identisch."
}
Gruß,
Dani
Hallo Dani,
wenn es wirklich so war, tut es mir leid.
Den Verlauf noch einmal betrachtend:
In der ersten Antwort auf seine Frage erhielt er schon eine Lösung von Dir.
Dann war da wohl seinerseits noch ein relevanter Script/Skript-Fehler.
(Was das war, ist jetzt nicht mehr nachvollziehbar.)
Nach dessen Behebung, lief die Lösung wohl auch bei ihm.
Bis dahin resultierte das alles in seine Worte:
"Danke an die nette Community"
Erst nachdem der Thread faktisch gelöst und bis dahin die Community nachweislich nett war, kamen zwei Offtopics zur Rechtschreibung (von BassFishFox und von mir).
Ob die nötig oder unterhaltsam waren sei dahingestellt, aber beide waren formal und inhaltlich nicht geeignet seine Würde herabzusetzen.
Ich bin mir unsicher, ob wirklich diese beiden angefügten Offtopics aus einer netten Community eine gemacht haben, die man sofort und kommentarlos verlassen muss.
Wie sensibel kann man denn sein?
Wie auch immer, ich werde versuchen mich mit Kommentaren zur Rechtschreibung zurückzuhalten, auch wenn es manchmal wehtuen wird.
Hier tat es nicht weh - seine Rechtschreibung war insgesamt gar nicht schlecht - ich konnte nur seine Vorlage nicht ignorieren.
Aber nochmal, wenn ich ihn tatsächlich vergrault haben sollte, bitte ich um Verzeihung, zumal es Dein "Kunde" war und nicht meiner.
Gruß Frank
wenn es wirklich so war, tut es mir leid.
Den Verlauf noch einmal betrachtend:
In der ersten Antwort auf seine Frage erhielt er schon eine Lösung von Dir.
Dann war da wohl seinerseits noch ein relevanter Script/Skript-Fehler.
(Was das war, ist jetzt nicht mehr nachvollziehbar.)
Nach dessen Behebung, lief die Lösung wohl auch bei ihm.
Bis dahin resultierte das alles in seine Worte:
"Danke an die nette Community"
Erst nachdem der Thread faktisch gelöst und bis dahin die Community nachweislich nett war, kamen zwei Offtopics zur Rechtschreibung (von BassFishFox und von mir).
Ob die nötig oder unterhaltsam waren sei dahingestellt, aber beide waren formal und inhaltlich nicht geeignet seine Würde herabzusetzen.
Ich bin mir unsicher, ob wirklich diese beiden angefügten Offtopics aus einer netten Community eine gemacht haben, die man sofort und kommentarlos verlassen muss.
Wie sensibel kann man denn sein?
Wie auch immer, ich werde versuchen mich mit Kommentaren zur Rechtschreibung zurückzuhalten, auch wenn es manchmal wehtuen wird.
Hier tat es nicht weh - seine Rechtschreibung war insgesamt gar nicht schlecht - ich konnte nur seine Vorlage nicht ignorieren.
Aber nochmal, wenn ich ihn tatsächlich vergrault haben sollte, bitte ich um Verzeihung, zumal es Dein "Kunde" war und nicht meiner.
Gruß Frank
Hi!
du willst also nur vergleichen ob 2 Dateien identisch sind? Um welcher art von Datei handelt es sich? txt? exe? pdf? Eventuell sind deine Dateien nicht unterschiedlich?
teste es mal so:
Ergebnis: Gleich!
Ergebnis: Ungleich!
Grüße!
du willst also nur vergleichen ob 2 Dateien identisch sind? Um welcher art von Datei handelt es sich? txt? exe? pdf? Eventuell sind deine Dateien nicht unterschiedlich?
teste es mal so:
- lege eine v1.txt an, schreibe v1 rein
- mache eine Kopie von v1.txt
- verwende diesen Code unten. Im Unterschied zu Danis Beispiel gibst du den Algorithmus explizit an
Ergebnis: Gleich!
- schreibe anderen Text in die v1 - kopie.txt
Ergebnis: Ungleich!
$fileA = Get-FileHash $fileSourceA -Algorithm "SHA256"
$fileB = Get-FileHash $fileSourceB -Algorithm "SHA256"
if ($fileA.Hash -ne $fileB.Hash)
{
write-host "ungleich!"
}
else
{
Write-Host "gleich!"
}
Grüße!
lol
Agarde, dös iss'n ZOMBIE 
Scheenen Freitach noch
Gruss Penny.
Scheenen Freitach noch
Gruss Penny.