tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Dario Linsky
  • 1 Beitrag von Wessy
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
2241
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Mailyn
    Mailyn Mailyn ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Beiträge
    214
    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 machen
    Geändert von Mailyn (26.04.08 um 18:50 Uhr)
     
    www.emolein.de
    HÖRE von Leidenschaft - Liebe - Hass und mehr

  2. #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.
    Mailyn bedankt sich. 
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  3. #3
    Avatar von Mailyn
    Mailyn Mailyn ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Beiträge
    214
    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)
     
    www.emolein.de
    HÖRE von Leidenschaft - Liebe - Hass und mehr

  4. #4
    Avatar von Wessy
    Wessy Wessy ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    Münster
    Beiträge
    137
    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
    Code :
    1
    
    verschlüsselter_dateiname = List1.Text
    gegen
    Code :
    1
    
    verschlüsselter_dateiname = oFSO.GetFolder(List1.Text).Name
    ersetzen
    Geändert von Wessy (27.04.08 um 20:35 Uhr)
    Mailyn bedankt sich. 
    Die Kunst Steuern einzunehmen besteht darin, die Gans zu rupfen ohne dass sie schreit.
    Maximilen de Béthune, französischer Finanzminister (1560 - 1641)

  5. #5
    Avatar von Mailyn
    Mailyn Mailyn ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Beiträge
    214
    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)
     
    www.emolein.de
    HÖRE von Leidenschaft - Liebe - Hass und mehr

  6. #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

  7. #7
    Avatar von Mailyn
    Mailyn Mailyn ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Beiträge
    214
    Beim Ausführen kommt es leider zur Fehlermeldung:
    "Fehler beim Kompilieren: Sub oder Function nicht definiert"

    Dabei wird auf das "DeleteString" verwiesen.
     
    www.emolein.de
    HÖRE von Leidenschaft - Liebe - Hass und mehr

  8. #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

  1. Ordner verschlüsseln
    Von dsNDesign im Forum Microsoft Windows
    Antworten: 5
    Letzter Beitrag: 05.01.09, 07:16
  2. Seiten unkenntlich machen
    Von Micha2006 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 30.01.07, 21:38
  3. Gesichter durch Mosaik unkenntlich machen...
    Von Powerbomb im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 12
    Letzter Beitrag: 09.01.06, 19:13
  4. Navigation unkenntlich machen?
    Von danielmueller im Forum PHP
    Antworten: 6
    Letzter Beitrag: 25.09.04, 15:43
  5. [AfterEffects] Gesichter unkenntlich machen
    Von dr.Rasmusen im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 14
    Letzter Beitrag: 28.09.02, 16:22