Auslistung aller leeren Ordner - Dos Befehl??

beckssquad

Ensign
Registriert
Apr. 2004
Beiträge
252
Hallo,

ich möchte auf meinem Rechner alle leeren Ordner auflisten, weiß aber nicht wie.

Welche Möglichkeiten habe ich?

Gibt es irgend einen DOS befehl, Tree ??? oder so?

Ich möchte die leeren Ordner identifizieren und ausdrucken.

Vielen Dank für Hilfe...!!!!
 
Fällt mir ehrlich gesagt keiner ein...

Aber über Script-Sprachen könnte man sowas bestimmt basteln oder mit einem kleinen C#-Programm...

Wofür brauchst du das denn überhaupt?
 
Hi,

ich versuche gerade über den Total Commander was hinzubekommen. Aber klappt noch nicht...

Danke für deine Hilfe
 
Hier wäre ein C# Code... wenn du keinen C#-Compiler hast, lade dir Visual C# Express 2008 runter...

Code:
using System;
using System.IO;

class Program {

    static void Info(string ErrorMsg)
    {
        if (ErrorMsg != null)
        {
            Console.WriteLine("Fehler: {0}", ErrorMsg);
            Console.WriteLine();
        }
        string sExecutable = Environment.CommandLine;
        int p = sExecutable.IndexOf(" ");
        if (p > 0) {
            sExecutable = sExecutable.Substring(0, p);
        }

        Console.WriteLine("Aufruf: {0} [-s] [Verzeichnis]", sExecutable);
        Console.WriteLine();
        Console.WriteLine("  [-s]           Es werden auch Unterverzeichnisse angezeigt, welche zwar keine");
        Console.WriteLine("                 Dateien, aber weitere Unterverzeichnisse enthalten");
        Console.WriteLine("  [Verzeichnis]  Wurzelverzeichnis");
        Console.WriteLine();
    }

    static void Main(string[] args)
    {
        string sRootDirectory = null;
        bool bFindWithoutSubdirectories = true;

        foreach (string arg in args)
        {
            if (arg.StartsWith("-") || arg.StartsWith("/"))
            {
                string argl = arg.Substring(1).ToLower();
                if (argl == "s")
                {
                    bFindWithoutSubdirectories = false;
                }
                else
                {
                    Info("Falscher Parameter: " + arg);
                    return;
                }
            }
            else
            {
                if (sRootDirectory != null)
                {
                    Info("Falscher Parameter: " + arg);
                    return;
                }

                sRootDirectory = arg;
            }
        }

        if (sRootDirectory == null)
        {
            sRootDirectory = Environment.CurrentDirectory;
        }

        string[] DirectoryList = Directory.GetDirectories(sRootDirectory, "*.*", SearchOption.AllDirectories);
        foreach (string sDirectory in DirectoryList)
        {
            if (Directory.GetFiles(sDirectory).Length > 0) continue;    // Dateien gefunden

            if (bFindWithoutSubdirectories)
            {
                if (Directory.GetDirectories(sDirectory).Length > 0) continue; // Unterverzeichnisse gefunden
            }

            Console.WriteLine(sDirectory);
        }
    }
    
}

Die Ausgabe sollte sich mittels spitzer Klammer (diese hier: >) in eine Datei umleiten lassen...
 
Zuletzt bearbeitet:
Hi,

danke für deinen Post, aber gibt es nicht eine einfachere Lösung?
 
Such mal bei google nach VBScript oder auch VBS Scripten. Da findest du bestimmt ein hilfreiches Script, es gibt ja auch massig Foren dazu. Der Vorteil an den VBScripten ist, dass du sie einfach ausführen kannst ohne Compiler & co installieren zu müssen.

mfg
Harle
 
@1668mib... netter Code...

aber selbst die kostenlose Express Edition ist gar nicht nötig, da der .Net Compiler im .Net Framework enthalten ist. Und mehr ist zum Ausführen des Codes gar nicht nötig.

Einfach das .Net Framework 2.0 installieren und gut is.

Der Compiler liegt dann unter
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe

Gruß
 
Hi, danke für all Eure Antworten.

Aber gibt es nicht einfach eine Batch Datei die ich ausführen kann, die mir dann in eine Textdatei die Pfade der leeren Ordner anzeigt? Ich will sie nicht automatisch löschen, nur wissen wo diese leeren verzeichnisse sich befinden.

THX 4 Help
 
Mit einer reinen Batchdatei wirds nicht gehen, da die Standardbefehle eben nicht entsprechende Parameter bieten.

Aber ob du nun eine Batch, oder die .exe von mib ausführst, macht doch im Handling keinen Unterschied. Diese hat er ja bereits für dich kompiliert, so daß der Schritt für dich auch schon entfällt.

Um die .exe auszuführen muss lediglich das .NET Framework 2.0 installiert sein, welches eigentlich eh Standard sein sollte, aufgrund der vielen anderen Anwendungen, die auf dem .NET Framework aufbauen.

Gruß
 
Zurück
Oben