Zum Inhalt springen
  • 0

CMD mehrere Befehle über Registry


murat1895

Frage

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

8 Antworten auf diese Frage

Empfohlene Beiträge

  • 0
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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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 von murat1895
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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);
        }
    }
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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 von RipperFox
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0
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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...