Veröffentlicht 21. Dezember 20168 j Guten Tag zusammen, Ich habe das Kontextmenü bei Klick auf einen Ordner wie folgt erweitert: [HKEY_CLASSES_ROOT\Folder\shell\copylist] @="Inhaltsverzeichnis erzeugen" [HKEY_CLASSES_ROOT\Folder\shell\copylist\command] @="cmd (/c dir \"%1\" /b /a:-d /o:n /s > \"%1\"_Inhaltsverzeichnis.txt"" Dabei soll bei Ausführung auf einen Ordner die Dateien inkl. Unterverzeichnisse aufgelistet werden. Allerdings soll nur der relative, anstatt der absoluten Pfad angezeigt werden. Dies möchte ich gerne Lösen, indem ich das Ergebnis abfange und zunächst nach einem bestimmten String durchsuche und entferne. Leider habe ich keine Ahnung, wie ich einen weiteren Befehl daoben einbauen kann.
21. Dezember 20168 j vor 10 Minuten schrieb murat1895: Dabei soll bei Ausführung auf einen Ordner die Dateien inkl. Unterverzeichnisse aufgelistet werden. Wo soll das denn aufgelistet werden? vor 11 Minuten schrieb murat1895: Dies möchte ich gerne Lösen, indem ich das Ergebnis abfange und zunächst nach einem bestimmten String durchsuche und entferne. Wo willst du den String eingeben? Was willst du eigentlich lösen? wenn du oben deinen String eingibst, bist du doch schon fast am Ziel.
21. Dezember 20168 j Autor Ich möchte ein Textdokument erzeugen, welches den Inhalt eines Ordners als Auflistung enthält, inkl. Unterordner. Leider wird bei dem o.g. Code der absolute Pfad zu jeder Datei angegeben. Diesen möchte ich aber nicht ausgeben lassen bzw. diesen will ich entfernen. Bearbeitet 21. Dezember 20168 j von murat1895
21. Dezember 20168 j vor 36 Minuten schrieb MartinSt: Nimm doch tree statt dir. Und wenn das nicht reicht, dann schreibt man halt einfach ein eigenes Kommandozeilen-Tool, was genau die Ergebnisse zurückliefert, die man braucht. dir und tree sind ja auch nichts anderes.
21. Dezember 20168 j beispielsweise: using System; using System.IO; using System.Linq; namespace ListFiles { class ListFiles { static void Main(string[] args) { var hasParameter = (args != null && args.Length > 0); var directoryToSearch = hasParameter ? args[0] : Directory.GetCurrentDirectory(); var di = new DirectoryInfo(directoryToSearch); var files = di.GetFiles(); var directories = di.GetDirectories(); var result = files .Select(x => x.Name) .Union(directories.Select(x => x.Name)) .ToList(); result.ForEach(Console.WriteLine); } } }
22. Dezember 20168 j Mehrere Kommandos kann man mit"&" Verknüpfen: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true ->Using multiple commands and conditional processing symbols dir /b /a:-d /o:n /s > Inhaltsverzeichnis.txt & echo Foobar >> Inhaltsverzeichnis.txt Löst aber das Problem so nicht - Auf CMD verzichten und ggf. in Powershell nochmal probieren? So in etwa: get-childitem -recurse | format-table Name -hidetableheaders | out-file Inhaltsverzeichnis.txt Bearbeitet 22. Dezember 20168 j von RipperFox
10. Januar 20178 j Autor Am 22.12.2016 um 10:22 schrieb RipperFox: Mehrere Kommandos kann man mit"&" Verknüpfen: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true ->Using multiple commands and conditional processing symbols dir /b /a:-d /o:n /s > Inhaltsverzeichnis.txt & echo Foobar >> Inhaltsverzeichnis.txt Löst aber das Problem so nicht - Auf CMD verzichten und ggf. in Powershell nochmal probieren? So in etwa: get-childitem -recurse | format-table Name -hidetableheaders | out-file Inhaltsverzeichnis.txt Das Problem ist dabei ja, das er mir die Dateien alle auflistet, aber von den Unterordnerstrukturen nichts mehr zu erkennen ist.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.