Zum Beispiel in Windows Explorer?Wie kann man die Namen von Dateien in einem Ordner als Text extrahieren?
Antwort
In Abwesenheit von jede weitere Informationen,
c:> cd directory
c:> dir > files.txt
eine Liste von Dateien in eine Textdatei (files.txt)
EDIT zu schreiben: dir /b
einfach die nackten Dateinamen zu erzeugen
"dir/b> dateinamen.txt" <- '/ b' steht für "bare notiz" –
Doh. Bekannt. Danke –
Danke, Brian. Also das kann nicht in Windows gemacht werden, nur in DOS? – systemovich
Wenn wir C# sprechen dann die folgenden wird der vollständige Pfad in einem Array von Strings zurück:
string[] files = Directory.GetFiles(directory);
Um die Dateinamen zu erhalten:
foreach (string file in files)
{
Console.WriteLine(Path.GetFileName(file));
}
Für nur die Dateinamen:
c:\dir /b > files.txt
Für eine Unix-Umgebung cd mydirectory && ls > filelist.txt
Hinweis: ls ist schlau genug zu wissen, wenn es Piped ist. es gibt also nicht die normalen Informationen, die es hätte, wenn Sie es direkt von der Konsole aus ausführen würden. –
In Python! Es nimmt den Weg als Argument.
import os
import sys
if __name__ == '__main__':
path = sys.argv[1]
dir = os.listdir(path)
for fname in dir:
print fname
Um einig zusätzlichen allgemeinen Geschmack, in einem PHP-Einzeiler hinzuzufügen, wie etwa:
<?php file_put_contents("listing.txt", implode(PHP_EOL, glob('*')));
ich, wenn Sie über die Unterscheidung von Dateien und Verzeichnissen oder nicht bin nicht sicher, egal. Im Folgenden werden die Namen der Dateien im aktuellen Verzeichnis in listing.txt
geschrieben.
In DOS:
C:\> IF EXIST listing.txt ERASE listing.txt
C:\> FOR %I IN (*.*) DO (ECHO %~nxI) >>listing.txt
In jedem Bourne-based Schale:
machine$ rm listing.txt
machine$ for f in *; do [ -f $f ] && echo "$f" >> listing.txt ; done
oder:
machine$ find . -type f -depth 1 -print > listing.txt
+1 für Batch-Stoffe. –
Verwenden eines beliebigen bestimmten Sprache/Werkzeug? –
In welchem Sinne? Möchten Sie eine Verknüpfung im Kontextmenü verwenden, um den Dateinamen zu kopieren? Oder ein Skript, um es zu tun und die Ergebnisse auszudrucken? – Kazar
Jedes Mal, wenn der Inhalt eines freigegebenen Ordners auf meinem Computer geändert wird, möchte ich eine E-Mail an alle senden, mit denen ich den Ordner geteilt habe. – systemovich