Button mit MD5 Kommandozeilen Programm
Moderators: Hacker, Stefan2, white
Button mit MD5 Kommandozeilen Programm
Hallo Leute,
ich habe da ein kleines Problem mit der buttonbar und einem Kommandozeilen Programm.
Und zwar wie kann man, die markierten Dateien namen von total commander in die Kommandozeile kopieren, damit ein cmd tool diese verarbeiten kann.
Ich habe auch schon die Hilfe benutzt aber leider funktioniert das leider nicht so wie gewolt.
Hier mal der Syntax mit dem es in der cmd funktioniert.
Die Dateien die markiert sind
xxLTmI8t.part1.rar
xxLTmI8t.part2.rar
der cmd Befehl:
md5sum c:\Server\xxLTmI8t.*.rar > c:\Server\xxLTmI8t.md5
ich weiß das der total commander eine Quersummen Funktion hat, aber ich würde gerne das mit der cmd machen.
bin noch etwas neu in der Benutzung von der Buttonbar
Ich bin euch für jede Hilfe dankbar.
ich habe da ein kleines Problem mit der buttonbar und einem Kommandozeilen Programm.
Und zwar wie kann man, die markierten Dateien namen von total commander in die Kommandozeile kopieren, damit ein cmd tool diese verarbeiten kann.
Ich habe auch schon die Hilfe benutzt aber leider funktioniert das leider nicht so wie gewolt.
Hier mal der Syntax mit dem es in der cmd funktioniert.
Die Dateien die markiert sind
xxLTmI8t.part1.rar
xxLTmI8t.part2.rar
der cmd Befehl:
md5sum c:\Server\xxLTmI8t.*.rar > c:\Server\xxLTmI8t.md5
ich weiß das der total commander eine Quersummen Funktion hat, aber ich würde gerne das mit der cmd machen.
bin noch etwas neu in der Benutzung von der Buttonbar
Ich bin euch für jede Hilfe dankbar.
Vielen dank für eure Antworten.
das verwendete tool ist hashutils von hashcheck
http://code.kliu.org/hashcheck/faq.html
ab Can HashCheck be invoked from the command line?
man kann auch die Dateien ohne Wildcards (*) übergeben.
das verwendete tool ist hashutils von hashcheck
http://code.kliu.org/hashcheck/faq.html
ab Can HashCheck be invoked from the command line?
man kann auch die Dateien ohne Wildcards (*) übergeben.
- sqa_wizard
- Power Member
- Posts: 3893
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
Wenn ich das richtig verstehe, gibt md5sum.exe den hash aus dem Inhalt aller übergebenen Dateinamen.
Also aus dem Beispiel oben
ergibt sich als Befehl im TC:
Alle übergeben Parameter werden als Dateiname interpretiert.
Also auch ">"!
Möchte man ">" als Umleitungszeichen interpretieren, muss man den Kommandozeilenprozessor "cmd.exe" verwenden.
Also aus dem Beispiel oben
Code: Select all
md5sum c:\Server\xxLTmI8t.*.rar > c:\Server\xxLTmI8t.md5
Code: Select all
hash aus "xxLTmI8t.part1.rar"
hash aus "xxLTmI8t.part2.rar"
hash aus ">"
hash aus "c:\Server\xxLTmI8t.md5"
Also auch ">"!
Möchte man ">" als Umleitungszeichen interpretieren, muss man den Kommandozeilenprozessor "cmd.exe" verwenden.
#5767 Personal license
Richtig, aber...ZoSTeR wrote:Es kommt darauf an in welcher Form das Tool die Parameter entgegennimmt.
er sagte ja "mit dem es in der cmd funktioniert"
Colossus wrote:--- Hier mal der Syntax mit dem es in der cmd funktioniert.
---
der cmd Befehl:
md5sum c:\Server\xxLTmI8t.*.rar > c:\Server\xxLTmI8t.md5
----
Aber irgendetwas stimmt da nicht, .... jetzt sagt er:
und die FAQs zeigen eine ganz andere SyntaxColossus wrote:...
das verwendete tool ist hashutils von hashcheck
http://code.kliu.org/hashcheck/faq.html
----
Can HashCheck be invoked from the command line?
As a shell extension, HashCheck was designed to be integrated into and invoked from Windows Explorer, so command-line support is very limited.
Verifying a checksum file: The following command will open a checksum file for verification in the HashCheck GUI:
rundll32 %WinDir%\System32\ShellExt\HashCheck.dll HashVerify_RunDLL example.md5
Vielleicht wären andere Tools besser geeignet.
Hier hatte ich mal ein paar aufgelistet: http://ghisler.ch/board/viewtopic.php?t=13422
Ich hatte aktuell keinen Bedarf an solchen Tools, somit kann ich keines empfehlen. Aber ich glaube, FSum war immer ganz gut.
habe nur *.rar verwendet damit ich nicht, die Datei xxLTmI8t.part2.rar auch mit angeben muss.
wenn zum Beispiel die Dateien xxLTmI8t.part1.rar bis xxLTmI8t.part4.rar verwendet werden, durch die Angabe von xxLTmI8t.*.rar werden alle Dateien mit part1 bis part4 verwendet.
Die Datei xxLTmI8t.md5 ist die Ausgabedatei in der alle Quersummen der einzelendateien gespeichert wird.
wenn zum Beispiel die Dateien xxLTmI8t.part1.rar bis xxLTmI8t.part4.rar verwendet werden, durch die Angabe von xxLTmI8t.*.rar werden alle Dateien mit part1 bis part4 verwendet.
Die Datei xxLTmI8t.md5 ist die Ausgabedatei in der alle Quersummen der einzelendateien gespeichert wird.
Wie ZoSTeR geschrieben hat ging es mir darum, wie ich in TC die einzelnen ausgewählten Dateinamen übergeben kann und wen möglich auch die Ausgabe Dateiennamen.
Die Im TC integrierte Quersummen Funktion, übergibt beim erzeugen den Dateiennamen, aber Sobald man mehrere Dateien hat, wird immer der Ordner Name verwendet und man muss den Namen selber eingeben.
Die Im TC integrierte Quersummen Funktion, übergibt beim erzeugen den Dateiennamen, aber Sobald man mehrere Dateien hat, wird immer der Ordner Name verwendet und man muss den Namen selber eingeben.
Versuch mal dieses auf nem Button:
Kommando:
Parameter:
Startpfad: leer
Die Frage ist, ob es dir primär um die MD5 Erstellung geht oder eher um die Parameterübergabe.
Hatte hier schon mal ein MD5-Skript erstellt, welches ich entsprechend anpassen könnte.
Kommando:
Code: Select all
cmd /c C:\PfadZu\md5sum.exe
Code: Select all
%S >"%P%O.md5"
Die Frage ist, ob es dir primär um die MD5 Erstellung geht oder eher um die Parameterübergabe.
Hatte hier schon mal ein MD5-Skript erstellt, welches ich entsprechend anpassen könnte.
PowerShell: 'CreateChecksum.ps1' SHA1 MD5
Hier das PowerShell Skript. Werds wohl nochmal gesondert und besser dokumentiert posten wenn ich Zeit und Lust habe 
-sha1 ist optional und kann entfernt werden für MD5
Für dem Namen der Checksummendatei wird der Basisname der ersten übergebenen Datei genutzt. Rar-Dateien mit "partX" werden gesondert behandelt.

-sha1 ist optional und kann entfernt werden für MD5
Für dem Namen der Checksummendatei wird der Basisname der ersten übergebenen Datei genutzt. Rar-Dateien mit "partX" werden gesondert behandelt.
Code: Select all
# TC Button Parameter:
# powershell.exe
# -NoExit -ExecutionPolicy remotesigned -Command "&{&'C:\PathTo\CreateChecksum.ps1' -sha1 -listFile '%UL'}"
Param(
[Parameter(Mandatory=$True)]
[ValidateNotNullOrEmpty()]
[string]$listFile,
[switch]$sha1
)
if ($sha1)
{
$algo = "SHA1"
$extensionOutputFile = ".sha"
}
else
{
$algo = "MD5"
$extensionOutputFile = ".md5"
}
[array]$contentListFile = Get-Content -LiteralPath $listFile
$itemFirstFile = Get-Item -LiteralPath $contentListFile[0]
if ($itemFirstFile.Name -match "(?<BaseName>.+)(?<Extension>\.part\d+\.rar)")
{
$outputFile = $Matches.BaseName
}
else
{
$outputFile = $itemFirstFile.BaseName
}
$outputFolder = $itemFirstFile.DirectoryName
$outputPath = $outputFolder + '\' + $outputFile + $extensionOutputFile
if (Test-Path -LiteralPath $outputPath)
{
Write-Warning ("`n" + $outputPath + " already exists. Aborting!")
Exit
}
$numberOfFiles = $contentListFile.Count
$timeStart = Get-Date
$c = 0
foreach ($filePath in $contentListFile)
{
$c += 1
Write-Progress -Activity "Calculating $algo checksum for $numberOfFiles files..." -Status "$c/$numberOfFiles $filePath" -PercentComplete ($c * 100 / $numberOfFiles)
$hashFile = Get-FileHash -LiteralPath $filePath -Algorithm $algo
$fileName = Split-Path $filePath -Leaf
$finalString = $hashFile.Hash + ' *' + $fileName
Out-File -LiteralPath $outputPath -InputObject $finalString -Append
}
$timeEnd = Get-Date
$timeSpan = New-TimeSpan -Start $timeStart -End $timeEnd
Write-Output ("`nDone. Duration: " + $timeSpan.ToString("hh\:mm\:ss\,fff"))