2Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
2241
2241
EMPFEHLEN
-
Hi,
Mein erhofftes Ziel: Die Dateinamen in einem Ordner uneinsehbar zu machen.
Mögliche Lösungen: - Dateinamen beim Beenden des Programmes alle durch z.B. Cäsar-Verschlüsselung unlesbar machen, beim Öffnen wieder lesbar machenGeändert von Mailyn (26.04.08 um 18:50 Uhr)
-
26.04.08 09:39 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Hi,
dein zweiter Ansatz (Cäsar-Code) lässt sich recht einfach umsetzen. Du öffnest den Ordner (und rekursiv natürlich auch die Unterordner) und benennst die Dateien um. Das FileSystemObject müsste dazu eigentlich schon von sich aus Funktionen anbieten. Zum Umbenennen iterierst du einfach über die Anzahl der Zeichen im Dateinamen und verschiebst den ASCII-Code von jedem Zeichen um x nach oben oder unten.
Grüße, D."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Stand der Dinge:
- Alle Dateien der (Unter)Ordner werden mit voller Pfadangabe in einer Liste (List1) angezeigt
(z.B. C:\Programme\Datei.exe)
- Per Cäsar könnte ich den Dateinamen so unlesbar machen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Function encode(str As String) Dim str_crypt$ Dim i% For i = 1 To Len(str) str_crypt = str_crypt & Chr(Asc(Mid(str, i, 1)) - 1) Next i encode = str_crypt End Function Private Sub Command2_Click() Dim verschlüsselter_dateiname$ verschlüsselter_dateiname = List1.Text 'C:\Programme\Datei.exe 'wird komplett in Cäsar verschlüsselt verschlüsselter_dateiname = encode(verschlüsselter_dateiname) name list1.txt as verschlüsselter_dateiname End Sub
Das Problem:
- Wie kann ich erreichen, dass er die Liste Eintrag für Eintrag durchgeht; Und dann nicht den ganzen Pfad, SONDERN nur den Dateinamen verschlüsselt?Geändert von Mailyn (27.04.08 um 16:46 Uhr)
-
Ist die Frage jetzt noch wie du alle Unterordner erwischt? Dann wäre die Antwort: rekursiv!
Code :1 2 3 4 5 6 7 8 9 10 11 12
Public oFSO As New FileSystemObject Private Sub Command1_Click() ScanDirs "D:\-=Daten=-" End Sub Public Function ScanDirs(ByVal sDir As String) For Each vSubDir In oFSO.GetFolder(sDir).SubFolders Debug.Print vSubDir ScanDirs vSubDir Next End Function
Ach, du meinst nur den Namen des Ordners!
Du könntest ganz einfach
gegenCode :1
verschlüsselter_dateiname = List1.Text
ersetzenCode :1
verschlüsselter_dateiname = oFSO.GetFolder(List1.Text).Name
Geändert von Wessy (27.04.08 um 20:35 Uhr)
Die Kunst Steuern einzunehmen besteht darin, die Gans zu rupfen ohne dass sie schreit.
Maximilen de Béthune, französischer Finanzminister (1560 - 1641)
-
Vielen Dank für deine Antwort

Leider mein nächstes (und letztes) Problem:
In List1 wird "C:\Ordner\Unterordner\Datei.exe" angezeigt.
Folgend wird daraus der Dateiname "Datei.exe" extrahiert
(fso.Getfile(List1.Text).Name) und per Cäsar verschlüsselt.
Das Umbenennen der Datei ist das Problem.
Code :1
name list1.text as ' nur Pfad & "\" & verschlüsselter_dateiname
Wie kann ich aus der Liste nur den Pfad, ohne Dateinamen lesen?Geändert von Mailyn (28.04.08 um 02:19 Uhr)
-
28.04.08 02:41 #6
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Hi,
wenn du an der Stelle noch den Dateinamen ohne Pfad hast, kannst du die Länge davon benutzen, um aus dem Listeneintrag nur den Pfad zu bekommen. Lösch einfach die letzten x Zeichen aus dem kompletten Dateinamen, der in der Liste steht, wobei x die Länge des Dateinamens ohne Pfad ist. Und übrig bleibt der Ordner.
Code vb:1
Ordnername = DeleteString(DateinameMitPfad, Len(DateinameMitPfad) - Len(DateinameOhnePfad), Len(DateinameOhnePfad))
Grüße, D."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Beim Ausführen kommt es leider zur Fehlermeldung:
"Fehler beim Kompilieren: Sub oder Function nicht definiert"
Dabei wird auf das "DeleteString" verwiesen.
-
28.04.08 04:56 #8
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Morgen,
sorry, hab da bei Google wohl was durcheinander gebracht. Muss an der Uhrzeit liegen.
Es reicht natürlich, wenn du die Left-Funktion nimmst:
Code vb:1
Pfad = Left(DateinameMitPfad, Len(DateinameMitPfad) - Len(DateinameOhnePfad))
Grüße, D."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
Ähnliche Themen
-
Ordner verschlüsseln
Von dsNDesign im Forum Microsoft WindowsAntworten: 5Letzter Beitrag: 05.01.09, 07:16 -
Seiten unkenntlich machen
Von Micha2006 im Forum PHPAntworten: 7Letzter Beitrag: 30.01.07, 21:38 -
Gesichter durch Mosaik unkenntlich machen...
Von Powerbomb im Forum Videoschnitt, Videotechnik & -produktionAntworten: 12Letzter Beitrag: 09.01.06, 19:13 -
Navigation unkenntlich machen?
Von danielmueller im Forum PHPAntworten: 6Letzter Beitrag: 25.09.04, 15:43 -
[AfterEffects] Gesichter unkenntlich machen
Von dr.Rasmusen im Forum Videoschnitt, Videotechnik & -produktionAntworten: 14Letzter Beitrag: 28.09.02, 16:22





Zitieren
Login





