von DOSferatu » Do 22. Jan 2009, 16:07
Alle 3 Möglichkeiten sind ohne Weiteres möglich, da ich dies sowieso schon vorausgesehen hatte...
Für die Verzeichnisse stellt sich nun noch die Frage:
Angenommen, Du hast so einen Pfad:
C:\DATEN\MUSIK\HEAVYMETAL\JUDAS_PRIEST
und Du willst ausgehend vom Verzeichnis MUSIK alle Unterverzeichnisse (und evtl auch die Files darin) auflisten. Wie sollen dann z.B. das Verzeichnis JUDAS_PRIEST aussehen?
Antwort A:
(Nur der Verzeichnisname)
\JUDAS_PRIEST
Antwort B:
(Verzeichnis-Rest-Pfad, ausgehend vom gewählten Startverzeichnis)
\HEAVYMETAL\JUDAS_PRIEST
Antwort C:
(Verzeichnispfad, inklusive des Startverzeichnisnamens)
\MUSIK\HEAVYMETAL\JUDAS_PRIEST
Antwort D:
(Vollständiger Verzeichnispfad)
C:\DATEN\MUSIK\HEAVYMETAL\JUDAS_PRIEST
Wählen Sie die richtige Antwort A, B, C oder D und gewinnen Sie 500 Euro! Nur 50 ct auf dem deutschen Festnetz - Mobiltelefontarife können abweichen...
Und, noch eine Frage:
Speziell für die "Gemischte" Form (also Verzeichnisnamen UND Dateien), empfiehlt es sich eventuell, die Verzeichnisse in irgendeiner Form zu kennzeichnen (um sie von den Dateien zu unterscheiden). In dem anderen Programm wird ein Verzeichnis daran erkannt, daß es den "Restpfad" enthält - und damit immer mit einem Backslash (\) beginnt. (Also das andere Programm benutzt Variante B.)
(Anmerkung: Du MUßT bei Variante A und B NICHT UNBEDINGT einen Backslash da haben, es geht auch ohne führenden Backslash zu machen oder mit nem anderen Zeichen.)
Möglich wären z.B.:
1)
Eine Leerzeile oder lange Linie (z.B. aus Strichen ---) oder sowas vor jedem neuen Verzeichnis.
2)
Ein spezielles Zeichen vor einem Verzeichnisnamen, damit man Verzeichnisse und Dateien unterscheiden kann (vor allem bei Variante A ohne führenden Backslash eventuell zu empfehlen, da sonst Verzeichnisse und Dateien völlig gleich aussehen)
3)
Einrücken der Dateinamen, so daß Verzeichnisnamen am Zeilenanfang stehen und Dateinamen z.B. um 3 Leerzeichen eingerückt sind oder sowas.
Auch hier wieder wählen: 1, 2 oder 3... (ja, wie dieses Spiel in dieser Kindersendung... - und ob ihr wirklich richtig steht, sehr ihr, wenn das Licht angeht...)
Und es wäre auch möglich, daß man diese Variante NUR anwendet, wenn die gemischte Ausgabe erfolgt (also Verzeichnisse UND Dateien) und daß man sie NICHT anwendet, wenn NUR Verzeichnisse oder NUR Dateien ausgegeben werden. Außerdem wäre es möglich, daß, wenn NUR Verzeichnisse ausgegeben werden, eine andere Art der Verzeichnisausgabe erfolgt als wenn die gemischte Ausgabe erfolgt.
Die Ausgabeformen werden durch Kommandozeilenparameter wählbar sein UND (wenn ohne Parameter) durch Eingabe. (Weil ich weiß, daß es sich unter Windows äußerst lästig gestaltet, wenn man da Kommandozeilenparameter benutzen will.)
Nur Dateien (Files) hat Parameter /F
Nur Verzeichnisse (Paths) hat Parameter /P
Beides (Both) hat Parameter /B
Groß/Kleinschreibung wird egal sein (also auch z.B. /f möglich), außerdem wird anstatt des Slashs (/) auch das Minuszeichen (-) benutzt werden können.
Hier also mein Fragebogen. Zu jeder Ausgabeform bitte die gewünschten Buchstaben (A bis D) und Ziffern (1 bis 3) angeben. Dann braucht man nicht so rumrätseln.
(Beispiel: Dateien+Verzeichnisse: C 2)
Nur Dateien:
Nur Verzeichnisse:
Dateien+Verzeichnisse:
Dann noch die Frage: Welcher der 3 obengenannten AusgabeModi (Dateien, Verzeichnisse, Beide) soll der Standardausgabemodus sein - für den Fall, daß keine Parameter angegeben werden? [F,P,B]
Standard-Ausgabemodus:
Schlußbemerkung, die zu beachten sind:
Es wird nur die folgende Probleme betreffend die langen Dateinamen geben:
I. Wird das Programm unter reinem DOS gestartet (ohne Windows drumherum), ist die Umwandlung in lange Dateinamen nicht möglich, daher MUß das Programm unter Windows gestartet werden, um lange Dateinamen zu erhalten.
II. Das Starten unter Windows per Doppelklick startet zwar das Programm, aber man hat dadurch NICHT die Möglichkeit, ein Startverzeichnis oder die Parameter zu übergeben. In diesem Fall (also wenn ohne Parameter gestartet) wird das Programm am Anfang das Startverzeichnis und den Ausgabemodus abfragen.
III. Will man dagegen weitere Parameter zur Ausgabe heranziehen, so ist ein INIT-File zu benutzen. Es ist unter Windows möglich, einem Programm mit einem File als Parameter zu starten, indem man das Icon dieses Files auf das Programm zieht und drauf fallenläßt. Das INIT-File wird ebenfalls die Parameter zur Ausgabe enthalten, d.h. mit den Befehlen im Init-File
FILES
PATHS
BOTH
wird man eine der 3 Ausgabemöglichkeiten auswählen können.
Es ist natürlichauch weiterhin möglich, LISTFILE.EXE mit einem INIT-File und/oder einem Ausgabe-Modus-Parameter zu starten, also z.B:
LISTFILE BEISPIEL.INI
LISTFILE /F
LISTFILE BEISPIEL.INI /B
LISTFILE /P BEISPIEL.INI
usw.
Anmerkung für Benutzung unter Windows: Startet man unter Windows eine EXE per Doppelklick, ist das Ausgangsverzeichnis immer das, in dem diese EXE liegt. Man kann dies beheben, indem man bei "Eigenschaften" dies ändert. Hier kann man auch Kommandozeilenparameter festlegen. (In diesem Fall wird dann von Windows eine Verknüpfung (LISTFILE.PIF) erstellt, die diese Daten enthält.)
Ich hoffe, damit sind erst einmal wieder alle Klarheiten beseitigt.
Und fülle bitte den Fragebogen aus - vorher fange ich nicht an.
Alle 3 Möglichkeiten sind ohne Weiteres möglich, da ich dies sowieso schon vorausgesehen hatte...
Für die Verzeichnisse stellt sich nun noch die Frage:
Angenommen, Du hast so einen Pfad:
C:\DATEN\MUSIK\HEAVYMETAL\JUDAS_PRIEST
und Du willst ausgehend vom Verzeichnis MUSIK alle Unterverzeichnisse (und evtl auch die Files darin) auflisten. Wie sollen dann z.B. das Verzeichnis JUDAS_PRIEST aussehen?
Antwort A:
(Nur der Verzeichnisname)
\JUDAS_PRIEST
Antwort B:
(Verzeichnis-Rest-Pfad, ausgehend vom gewählten Startverzeichnis)
\HEAVYMETAL\JUDAS_PRIEST
Antwort C:
(Verzeichnispfad, inklusive des Startverzeichnisnamens)
\MUSIK\HEAVYMETAL\JUDAS_PRIEST
Antwort D:
(Vollständiger Verzeichnispfad)
C:\DATEN\MUSIK\HEAVYMETAL\JUDAS_PRIEST
Wählen Sie die richtige Antwort A, B, C oder D und gewinnen Sie 500 Euro! Nur 50 ct auf dem deutschen Festnetz - Mobiltelefontarife können abweichen...
Und, noch eine Frage:
Speziell für die "Gemischte" Form (also Verzeichnisnamen UND Dateien), empfiehlt es sich eventuell, die Verzeichnisse in irgendeiner Form zu kennzeichnen (um sie von den Dateien zu unterscheiden). In dem anderen Programm wird ein Verzeichnis daran erkannt, daß es den "Restpfad" enthält - und damit immer mit einem Backslash (\) beginnt. (Also das andere Programm benutzt Variante B.)
(Anmerkung: Du MUßT bei Variante A und B NICHT UNBEDINGT einen Backslash da haben, es geht auch ohne führenden Backslash zu machen oder mit nem anderen Zeichen.)
Möglich wären z.B.:
1)
Eine Leerzeile oder lange Linie (z.B. aus Strichen ---) oder sowas vor jedem neuen Verzeichnis.
2)
Ein spezielles Zeichen vor einem Verzeichnisnamen, damit man Verzeichnisse und Dateien unterscheiden kann (vor allem bei Variante A ohne führenden Backslash eventuell zu empfehlen, da sonst Verzeichnisse und Dateien völlig gleich aussehen)
3)
Einrücken der Dateinamen, so daß Verzeichnisnamen am Zeilenanfang stehen und Dateinamen z.B. um 3 Leerzeichen eingerückt sind oder sowas.
Auch hier wieder wählen: 1, 2 oder 3... (ja, wie dieses Spiel in dieser Kindersendung... - und ob ihr wirklich richtig steht, sehr ihr, wenn das Licht angeht...)
Und es wäre auch möglich, daß man diese Variante NUR anwendet, wenn die gemischte Ausgabe erfolgt (also Verzeichnisse UND Dateien) und daß man sie NICHT anwendet, wenn NUR Verzeichnisse oder NUR Dateien ausgegeben werden. Außerdem wäre es möglich, daß, wenn NUR Verzeichnisse ausgegeben werden, eine andere Art der Verzeichnisausgabe erfolgt als wenn die gemischte Ausgabe erfolgt.
Die Ausgabeformen werden durch Kommandozeilenparameter wählbar sein UND (wenn ohne Parameter) durch Eingabe. (Weil ich weiß, daß es sich unter Windows äußerst lästig gestaltet, wenn man da Kommandozeilenparameter benutzen will.)
Nur Dateien (Files) hat Parameter /F
Nur Verzeichnisse (Paths) hat Parameter /P
Beides (Both) hat Parameter /B
Groß/Kleinschreibung wird egal sein (also auch z.B. /f möglich), außerdem wird anstatt des Slashs (/) auch das Minuszeichen (-) benutzt werden können.
Hier also mein Fragebogen. Zu jeder Ausgabeform bitte die gewünschten Buchstaben (A bis D) und Ziffern (1 bis 3) angeben. Dann braucht man nicht so rumrätseln.
(Beispiel: Dateien+Verzeichnisse: C 2)
Nur Dateien:
Nur Verzeichnisse:
Dateien+Verzeichnisse:
Dann noch die Frage: Welcher der 3 obengenannten AusgabeModi (Dateien, Verzeichnisse, Beide) soll der Standardausgabemodus sein - für den Fall, daß keine Parameter angegeben werden? [F,P,B]
Standard-Ausgabemodus:
Schlußbemerkung, die zu beachten sind:
Es wird nur die folgende Probleme betreffend die langen Dateinamen geben:
I. Wird das Programm unter reinem DOS gestartet (ohne Windows drumherum), ist die Umwandlung in lange Dateinamen nicht möglich, daher MUß das Programm unter Windows gestartet werden, um lange Dateinamen zu erhalten.
II. Das Starten unter Windows per Doppelklick startet zwar das Programm, aber man hat dadurch NICHT die Möglichkeit, ein Startverzeichnis oder die Parameter zu übergeben. In diesem Fall (also wenn ohne Parameter gestartet) wird das Programm am Anfang das Startverzeichnis und den Ausgabemodus abfragen.
III. Will man dagegen weitere Parameter zur Ausgabe heranziehen, so ist ein INIT-File zu benutzen. Es ist unter Windows möglich, einem Programm mit einem File als Parameter zu starten, indem man das Icon dieses Files auf das Programm zieht und drauf fallenläßt. Das INIT-File wird ebenfalls die Parameter zur Ausgabe enthalten, d.h. mit den Befehlen im Init-File
FILES
PATHS
BOTH
wird man eine der 3 Ausgabemöglichkeiten auswählen können.
Es ist natürlichauch weiterhin möglich, LISTFILE.EXE mit einem INIT-File und/oder einem Ausgabe-Modus-Parameter zu starten, also z.B:
LISTFILE BEISPIEL.INI
LISTFILE /F
LISTFILE BEISPIEL.INI /B
LISTFILE /P BEISPIEL.INI
usw.
Anmerkung für Benutzung unter Windows: Startet man unter Windows eine EXE per Doppelklick, ist das Ausgangsverzeichnis immer das, in dem diese EXE liegt. Man kann dies beheben, indem man bei "Eigenschaften" dies ändert. Hier kann man auch Kommandozeilenparameter festlegen. (In diesem Fall wird dann von Windows eine Verknüpfung (LISTFILE.PIF) erstellt, die diese Daten enthält.)
Ich hoffe, damit sind erst einmal wieder alle Klarheiten beseitigt.
Und fülle bitte den Fragebogen aus - vorher fange ich nicht an.