Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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
GELÖST

FOR über alle Verzeichnisse AUSSER...

Frage Entwicklung Batch & Shell

Mitglied: 56921

56921 (Level 1)

05.11.2007, aktualisiert 15:26 Uhr, 4277 Aufrufe, 5 Kommentare

Hallo,

ich komme bei folgendem Problem nicht weiter und bin für ein paar Anregungen dankbar.

Ich will alle Unterverzeichnisse, die sich in einem Verzeichnis befinden, zippen, ausser die Verzeichnisse, die mit einem Underline (_) anfangen.

Bis hierhin bin ich schon mal gekommen:
FOR /D %%i IN (c:\temp\*) DO SET DIR_LIST=!DIR_LIST!,"%%i"
ENDLOCAL & SET DIR_LIST=%DIR_LIST%

Die _-Verzeichnisse wollte ich mit FINDSTR /R /C:"^[^_]" ausschließen, aber das matcht aus irgendeinem Grund nicht?!

Hat noch jemand ne andere Idee?

Danke & Gruß,
Carsten
Mitglied: bastla
05.11.2007 um 12:21 Uhr
Hallo carsten-h und willkommen im Forum!

Versuch es vielleicht eher so:
01.
for /f "delims=" %%i in ('dir /b /ad c:\temp\*^|findstr /v /b "_"') do SET DIR_LIST=!DIR_LIST!,"c:\temp\%%i"
Grüße
bastla

[Edit] Fehlendes "^" vor "|findstr ..." nachgetragen. [/Edit]
Bitte warten ..
Mitglied: Biber
05.11.2007 um 14:23 Uhr
Moin carsten-h,

und die Strategie, die Du meintest, würde sich in etwa so lesen:
[Proof-of-concept am CMD-Prompt]
01.
>for /d %i in (*) do @for /f "delims=" %i in ('echo %i^|findstr "^_"') do @echo set DIR_LIST=!DIR_LIST!;"c:\temp\%~i" 
02.
set DIR_LIST=!DIR_LIST!;"c:\temp\_even older dir" 
03.
set DIR_LIST=!DIR_LIST!;"c:\temp\_oldDir"
Bzw mit und ohne DelayedExpansion im Batch:
01.
::---- Mit DelayedExpansion 
02.
@echo off & setlocal EnableDelayedExpansion 
03.
Set DIR_LIST= 
04.
:: [....ergänzen: Wechseln ins "richtige" Verzeichnis, z.B. "c:\temp"] 
05.
for /d %%i in (*) do for /f "delims=" %%i in ('echo %%i^|findstr /v "^_"') do set DIR_LIST=!DIR_LIST!;"c:\temp\%%~i"
01.
::---- Ohne DelayedExpansion 
02.
@echo off & setlocal 
03.
Set DIR_LIST= 
04.
:: [....ergänzen: Wechseln ins "richtige" Verzeichnis, z.B. "c:\temp"] 
05.
for /d %%i in (*) do for /f "delims=" %%i in ('echo %%i^|findstr /v "^_"') do call setDIR_LIST "%~i" 
06.
echo %DIR_LIST% 
07.
goto :eof 
08.
 
09.
:setDIR_LIST 
10.
Set DIRLIST=%DIR_LIST%;"c:\temp\%~1" 
11.
goto :eof
[ungetestete Skizzen]

Gruß
Biber
Bitte warten ..
Mitglied: 56921
05.11.2007 um 14:46 Uhr
Hallo,

danke für den Vorschlag. Prinzip hab ich verstanden, aber es funktioniert leider nur der innere Teil (dir /b usw.) der Zeile. Wenn ich nur den ausführe, werden mir auch nur die gewünschten Verzeichnisse angezeigt.

Führe ich den kompletten Befehl in der Kommandozeile aus, bekomme ich ein "| was unexpected at this time." zurück. Das Skript bricht ohne Fehlerausgabe einfach ab. Hab ich die falschen Quotes (') genommen oder ist es ein Problem, dass ich sozusagen ja 2 Befehle ausführen lasse?

Gruß,
Carsten
Bitte warten ..
Mitglied: bastla
05.11.2007 um 14:56 Uhr
Hallo carsten-h!

War leider mein Fehler - vor dem "|" fehlte das "^" (ist inzwischen oben korrigiert).

Grüße
bastla
Bitte warten ..
Mitglied: 56921
05.11.2007 um 15:26 Uhr
Danke!!! Ich bin begeistert!

Gruß,
Carsten
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Berechtigungen Verzeichnisse (1)

Frage von uridium69 zum Thema Windows Userverwaltung ...

Windows Server
Verzeichnisse löschen (2)

Frage von MiSt zum Thema Windows Server ...

Ubuntu
gelöst Verzeichnisse bestehen nur noch aus "???" (2)

Frage von D1Ck3n zum Thema Ubuntu ...

DSL, VDSL
gelöst DSL-Anschluß von außen überwachen (7)

Frage von SirSimon zum Thema DSL, VDSL ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(4)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...