Tipp zum Vorgehen - Passwort auslesen und damit eine Datei entpacken

FAT B

Captain
Registriert
März 2007
Beiträge
3.454
Hi,

stehe vor folgender Aufgabe:

Es liegen viele gepackte Datein vor (RAR). Die gepackten Dateien sind Passwort geschützt. Da Passwort steht stets im Dateinamen an der gleichen Stelle, bspw. zwischen zwei Zeichen.

Manuell ist der Vorgang also wie folgt: Passwort aus Dateinamen kopieren, Datei mit WinRAR öffnen, bei Aufforderung PW eingeben, entpacken.

Ich habe mir überlegt, das muss man doch automatisieren können.

Ich habe rudimentäre VB Kenntnisse, bin natürlich bereit mich da weiter reinzuarbeiten, aber wie gehe ich das an? Ist das mit VB überhaupt machbar?

Bin für jeden Tip dankbar.
 
Linux:
1. Liste aller .rar datein im Ordner erstellen
2. passwort finden z.B. mit cut
3. 7-zip per command line aufrufen
 
  • Gefällt mir
Reaktionen: mojitomay und netzgestaltung
Wäre es eine Option mit PowerRename von Microsoft PowerToys die Dateien zuerst ausschließlich mit dem Passwort umzubenennen und anschließend via Script den Dateinamen zu öffnen und den Dateinamen als Passwort zu verwenden?
Oder muss es VBA sein?
 
Sofern alle Dateinamen die gleiche Struktur haben oder das jeweilige Passwort eindeutig erkennbar ist, kann man das mit VBS problemlos machen.

Edit: Als Referenz für VBS empfehle ich DevGuru
 
  • Gefällt mir
Reaktionen: FAT B
Unter Windows mit powershell

Passwort extrahieren
Entpacken mitunrar - p passwort...
 
  • Gefällt mir
Reaktionen: FAT B
Da du von vb sprichst gehe ich mal von Windows aus...
Unter Windows kann man das relativ leicht mit Powershell lösen.
VBS würde ich nicht mehr empfehlen. Und bevor der Einwand kommt: man sollte sich an Powershell gewöhnen, je öfter man es benutzt, desto einfach wird es. VBS und Batch sind veraltet.

Ungefähre vorgehensweise als Starthilfe:
Liste der Dateien einlesen mit Get-ChildItem
Auslesen das PW aus dem Namen , ForEach-Schleife, String-Funktionen -> z.B. Substring, IndexOf, LastIndexOf
Aufrufen des Entpackers mit entsprechenden Parametern
 
  • Gefällt mir
Reaktionen: FAT B und Fusionator
Korben2206 schrieb:
Da du von vb sprichst gehe ich mal von Windows aus...
Unter Windows kann man das relativ leicht mit Powershell lösen.
VBS würde ich nicht mehr empfehlen. Und bevor der Einwand kommt: man sollte sich an Powershell gewöhnen, je öfter man es benutzt, desto einfach wird es. VBS und Batch sind veraltet.
Wie so häufig führen mehrere Wege nach Rom. Da der TE Kenntnisse in VB hat, kann er das Problem auch so lösen.
Und nebenbei kann man mit VB/VBS vieles machen, was Powershell nicht kann. Also pauschal von "veraltet" zu sprechen, ist imho Quatsch.
 
FAT B schrieb:
bspw. zwischen zwei Zeichen.
Meine Glaskugel sagt mit jetzt irgendwie sowas wie {{}} ;)
Daher lautet meine theoretische Überlegung mittels regex den String zwischen den Klammern in eine Variable zu extrahieren und mit dem Inhalt die Vorgehensweise aus #6 umzusetzen
 
  • Gefällt mir
Reaktionen: FAT B
Demon_666 schrieb:
Wie so häufig führen mehrere Wege nach Rom. Da der TE Kenntnisse in VB hat, kann er das Problem auch so lösen.
Und nebenbei kann man mit VB/VBS vieles machen, was Powershell nicht kann. Also pauschal von "veraltet" zu sprechen, ist imho Quatsch.
Aus Neugier: was man denn in VBS was man in Powershell nicht kann?
 
Bspw. die vielen Funktionen um Excel, Word und Co. mit ihren internen Funktionen zu manipulieren/bearbeiten und co.. Das geht mit Powershell so nicht.
 
Klar geht das.. mit Excel schon gemacht.. ist aber ein Krampf (was an der Schnittstelle liegt, nicht an PS)...
 
Das ist dem Anwender aber eigentlich egal, ob es PS oder die dazugehörige Schnittstelle ist, die es kompliziert macht ;)
Wie gesagt, hat der TE VB-Kenntnisse und kommt wahrscheinlich mit VBS schneller zum Ziel.

Aber jeder wie er will, ist jetzt eh OT von daher bin ich raus :).
 
Mit einem Beispiel für den Dateinamen könntest du konkretere Hinweise bekommen.
Im Grunde ist die Sprache egal
 
  • Gefällt mir
Reaktionen: ZuseZ3 und FAT B
hi! frohes neues und vielen dank für die ansätze allen! werde mich mal versuchen die tage mich eingehender mit den vorschlägen zu beschäftigen.

@Fusionator deine glaskugel liegt nicht schlecht ;)

@cloudman beispiel: <laufwerk>:\\verzeichnis1\NAME.DES.CONTENT[[PASWORT]]\passwortgeschützedatei.rar

die sprache ist mir in der tat egal. VB kenn ich halt nen bissi, lese mich aber auch gerne in die powershell ein wenn es hilft.

nochmals danke erstmal!
 
Zurück
Oben