Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Leere Verzeichnisse per Batch und Desktop.ini markieren

Frage Entwicklung Batch & Shell

Mitglied: rubisch

rubisch (Level 1) - Jetzt verbinden

17.08.2010 um 13:43 Uhr, 4343 Aufrufe, 2 Kommentare

Moin,

ich versuche eine Batchdatei zu erstellen, die in alle leeren gefundenen Verzeichnisse eine Desktop.ini hereinkopiert um das Ordnersymbol zu ändern, sodass dieses Verzeichnis sofort als leer zu erkennen ist.

Soweit bin ich bis jetzt gekommen:

@Echo off 
 
del "c:\test\dassindsie.txt" 
 
for /R C:\Test %%i in (.) do call :chkdir %%i 
goto next 
 
:chkdir 
dir "%*" | find "0 Datei(en)" >nul: 
if %errorlevel% equ 0 echo %* 
if %errorlevel% equ 0 echo "%*" >>c:\test\dassindsie.txt 
 
goto :EOF 
 
:next 
 
for /f "delims=^" %%f in (c:\test\dassindsie.txt) do call :kopierdiedannmal %%f 
goto nexxt 
 
:kopierdiedannmal 
xcopy c:\test\Desktop.ini "%*" /C /H /Y 
 
goto :EOF 
 
:nexxt 
 
attrib +R /D /S
Zunächst wird eine eventuell vorhandene "dassindsie.txt" gelöscht, dann werden alle leeren (versteckte Dateien zählen nicht) Verzeichnisse gefunden und in der Datei "dassindsie.txt" gespeichert, aus der dann in der zweiten "for-schleife" die Ziele für xcopy zeilenweise ausgelesen werden.

Das Script markiert auch fleißig, aber das Problem ist, dass es auch Ordner markiert die zwar keine Dateien aber dafür weitere Verzeichnisse beinhalten.
Was ich mir wünschen würde ist, dass nur die Ordner markiert werden, die weitere leere Ordner oder garnix beinhalten. Sind weitere "gefüllte" Ordner (oder leere Ordner die gefüllte Ordner beinhalten), aber keine Dateien im Ordner vorhanden, soll dieses VZ nicht markiert werden. Tja und genau da komme ich nicht weiter...

Ich bedanke mich schonmal im Vorraus für die Hilfe

mfg

rubisch
Mitglied: 60730
17.08.2010 um 14:10 Uhr
Moin,

Soweit bin ich bis jetzt gekommen:
@Echo off

Ist natürlich sehr suboptimal.

Warum suchst du nicht zu allererst via:

01.
dir , /B /AD /S
das was du im ersten Schritt brauchst?

Und nimmst diese Ordner dann der Reihe nach auseinander, ob die leer sind oder nicht?

Oder suchst wenigstens nicht nur nach
"0 Datei(en)"
sondern auch nach
"2 Verzeichnis(se)"

Gruß
Bitte warten ..
Mitglied: rubisch
17.08.2010 um 15:31 Uhr
Thx für die schnelle Antwort,
<edit>
werde das Testen wohl leider erst nächste Woche schaffen, Feedback kommt auf jeden Fall noch.
</edit>

mfg

rubisch
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
Herunterfahren erkennen (Batch) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...