"Dir"-Befehl alleine?

Diskutiere "Dir"-Befehl alleine? im Programmierung Forum im Bereich Software Forum; Sub ExcelDateienZählen() 'Dim strVerzeichnis As String Dim strDateiname As String Dim i As Integer 'strVerzeichnis =...
meinmartin

meinmartin

Threadstarter
Mitglied seit
28.07.2005
Beiträge
129
Standort
Regierungsbezirk Köln
Sub ExcelDateienZählen()
'Dim strVerzeichnis As String
Dim strDateiname As String
Dim i As Integer

'strVerzeichnis = "C:\Dokumente und Einstellungen\Martin Work.PEACY\Eigene Dateien\Excel97\"
strDateiname = Dir("C:\Dokumente und Einstellungen\Martin Work.PEACY\Eigene Dateien\Excel97\*.xls")

While strDateiname <> ""
strDateiname = Dir
'MsgBox strDateiname
i = i + 1
Wend
MsgBox "Es sind " & i & " Dateien dieses Typs im angegebenen Ordner.", vbInformation
End Sub

Warum funktioniert diese Prozedur? Ich verstehe die Zeile
strDateiname = Dir
nicht. Wie kann "Dir" alleine stehen und was gibt es dann zurück? Im Direktfenster Dir allein eingegeben gibt es eine Fehlermeldung.

Für Hilfe wäre ich sehr dankbar,
Euer
meinmartin


:blush
 
meinmartin

meinmartin

Threadstarter
Mitglied seit
28.07.2005
Beiträge
129
Standort
Regierungsbezirk Köln
Sub DirAlleine()
Dim strDateiname As String

strDateiname = Dir
MsgBox strDateiname
End Sub

Diese Prozedur funktioniert aber nicht. In derjenigen von eben wurde doch nichts an Dir übergeben, wieso also kann es alleine stehen? Das verstehe ich leider nicht.
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.155
Standort
DE-RLP-COC
Normalerweise beginnt so eine Schleife mit strDateiname = Dir("C:\Verzeichnis\*.*").
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Also vielleicht solte man das noch etwas konkretisieren, dann dürfte es klar werden. ;)

Also Dir() gibt nur einen String mit dem Dateinamen der nächsten gefundenen Datei zurück. Die beiden Parameter sind dabei optional, das heißt sie müssen nicht angegeben werden.

Natrülich muss Dir() bei der ersten Verwendung ein Pfad angegeben werden, denn es muss ja wissen was du erstmal überhaupt von der Funktion willst. Alle weiteren Aufrufe ohne Parameter (!!) geben den jeweils nächsten Dateinamen zurück bis nichts mehr gefunden wird, dann wird ein leerer String "" zurückgegeben.

Deshalb funktioniert auch der 2. Code nicht bzw. nicht richtig.

BTW: Die MSDN Ist bei sowas eine gute Informationsquelle: http://msdn.microsoft.com/en-us/library/dk008ty4(VS.71).aspx
 
Thema:

"Dir"-Befehl alleine?

"Dir"-Befehl alleine? - Ähnliche Themen

  • Batchfrage: Gibts einen Befehl, mit dem ich einen Prozess auf Vorhandensein im RAM kontrollieren kann?

    Batchfrage: Gibts einen Befehl, mit dem ich einen Prozess auf Vorhandensein im RAM kontrollieren kann?: Würde davon gerne abhängig machen, dass eine Aktion ausgelöst wird. Gibts hierzu einen Befehl, z.B. um winword.exe im RAM zu checken?
  • Wie kann ich per CMD-Befehl einen Registry-(Standard)-Eintrag mit einem Pfad versehen?

    Wie kann ich per CMD-Befehl einen Registry-(Standard)-Eintrag mit einem Pfad versehen?: Mit folgendem Befehl erstelle ich erfolgreich einen neuen Key samt Unterschlüssel namens command: reg add...
  • "Kontoeinstellungen ändern" und shutdown-Befehl für normaler Benutzer deaktivieren

    "Kontoeinstellungen ändern" und shutdown-Befehl für normaler Benutzer deaktivieren: Hallo, wollte fragen, wie ich in Windows 10 wie ich die Option "Kontoeinstellungen ändern" und "Sperren" und "shutdown-Befehl über Konsole" für...
  • Per NetUse-Befehle Netzwerklaufwerke eingebunden, Benutzer änderte sein Passwort seitdem muss bei jeder Anmeldung die Zuänge im CMD eingegeben werden

    Per NetUse-Befehle Netzwerklaufwerke eingebunden, Benutzer änderte sein Passwort seitdem muss bei jeder Anmeldung die Zuänge im CMD eingegeben werden: Hallo, wir haben per Skript (Netlogon.bat) mehrere Netzwerklaufwerke eingebunden, die User gehen per WTS auf den "Beta-Server" und erhalten...
  • Ist der TRIM Befehl aktiv?

    Ist der TRIM Befehl aktiv?: Hallo, ich wollte überprüfen ob bei meinem System der TRIM Befehl aktiv ist. Nach Eingabe von: fsutil behavior query DisableDeleteNotify erhielt...
  • Ähnliche Themen

    Oben