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, 4327 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
Batch zum bearbeiten mehrerer CSV (2)

Frage von Matzus87 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...