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

2 Batch skript zusammen fügen

Frage Entwicklung Batch & Shell

Mitglied: Martinoli

Martinoli (Level 1) - Jetzt verbinden

22.11.2013 um 11:27 Uhr, 1083 Aufrufe, 2 Kommentare

Hallo zusammen

Ich hab mal vor 3 Tagen oder so gefragt wie ich am besten Unterordner dursuchen kann (und Unterordner vom Unterordner ).
Darauf hin hab eich ein bisschen hielfe bekommen.

Jedenfalls Hab ich es jetzt Fertig: (Skript1)

@echo off
set a=00
set b=01
for /d %%i in ("%userprofile%\Desktop\Test Ordner") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
for /d %%i in ("%userprofile%\Desktop\Test Ordner\*") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
:BATCH
echo es geht
for /d %%i in ("%userprofile%\Desktop\Test Ordner\%a%\*") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
set /a a=%a%+%b%
set c=2000
set d=0
:JAHR
echo es geht
for /d %%i in ("%userprofile%\Desktop\Test Ordner\%a%\%c%\*") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
IF %d%==0 goto D0
IF %d%==9 goto D10
IF %d%==99 goto D100
:D0
IF %c%==2000 (set e=00)
IF %c%==2001 (set e=01)
IF %c%==2002 (set e=02)
IF %c%==2003 (set e=03)
IF %c%==2004 (set e=04)
IF %c%==2005 (set e=05)
IF %c%==2006 (set e=06)
IF %c%==2007 (set e=07)
IF %c%==2008 (set e=08)
IF %c%==2009 (set e=09)
IF %c%==2010 (set e=10)
IF %c%==2011 (set e=11)
IF %c%==2012 (set e=12)
IF %c%==2013 (set e=13)
IF %c%==2014 (set e=14)
IF %d%==0 goto String1
IF %d%==10 goto String2
IF %d%==100 goto String3
:D10
set d=10
IF %d%==0 goto String1
IF %d%==10 goto String2
IF %d%==100 goto String3
:D100
set d=100
IF %d%==0 goto String1
IF %d%==100 goto String3
IF %d%==10 goto String2
:STRING1
for /d %%i in ("%userprofile%\Desktop\Test Ordner\%a%\%c%\%a%.%e%.00%d%\*") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
set /a d=%d%+%b%
IF %d%==9 goto D10
IF %d% NEQ 9 goto STRING1
:STRING2
for /d %%i in ("%userprofile%\Desktop\Test Ordner\%a%\%c%\%a%.%e%.0%d%\*") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
set /a d=%d%+%b%
IF %d%==99 goto D100
IF %d% NEQ 99 goto STRING2
:STRING3
for /d %%i in ("%userprofile%\Desktop\Test Ordner\%a%\%c%\%a%.%e%.%d%\*") do (for /d %%j in ("%%~fi\*") do echo "%%~fj")
set /a d=%d%+%b%
IF %d%==200 goto C
IF %d% NEQ 200 goto STRING3
:C
set d=0
set /a c=%c%+%b%
IF %c%==2015 goto Reset
IF %c% NEQ 2015 goto JAHR
:RESET
IF %a%==1 (set a=01)
IF %a%==2 (set a=02)
IF %a%==3 (set a=03)
IF %a%==4 (set a=04)
IF %a%==5 (set a=05)
IF %a%==6 (set a=06)
IF %a%==7 (set a=07)
IF %a%==8 (set a=08)
IF %a%==9 (set a=09)
IF %a%==100 goto FERTIG
IF %a% NEQ 100 goto BATCH
:FERTIG
pause

(Dieses Skript macht, dass es die Ordner, Unterordner und Unterordner von den Unterordner anzeigt.)

So und jetzt muss ich noch hinzufügen das es nur die LEEREN Ordner anzeigt.
Skript2:

@echo off
for /f "delims=" %%i in ('dir /ad/s/b') do dir /b /A:-d "%%i">nul 2>nul || echo %%i
pause

(Diese Skript zeigt ALLE leeren Ordner an in dem es liegt.)

Ich muss die jetzt so kombinieren das es nur die vorher gesuchten Ordner (Skript1), auf leere Ordner durchsucht (Skript2) und nicht ALLE.

Kann mir jemand helfen? Wenn ihr mehr Infos brauch oder eine bessere Idee habt für das Skript2 sagt es bitte.

Gruss Martinoli

Mitglied: Endoro
22.11.2013, aktualisiert um 13:44 Uhr
Hi,
was soll dein Code eigentlich machen? Wozu die for-Schleifen?
Runtergebrochen auf aktiven Code und gekürzt:
01.
@ECHO OFF &SETLOCAL 
02.
set a=00 
03.
set b=01 
04.
:BATCH 
05.
echo es geht 
06.
set /a a=%a%+%b% 
07.
set c=2000 
08.
set d=0 
09.
:JAHR 
10.
echo es geht 
11.
IF %d%==0 goto D0 
12.
IF %d%==9 goto D10 
13.
IF %d%==99 goto D100 
14.
:D0 
15.
if %c% geq 2000 if %c% leq 2014 set "e=%c:~-2%" 
16.
IF %d%==0 goto String1 
17.
IF %d%==10 goto String2 
18.
IF %d%==100 goto String3 
19.
:D10 
20.
set d=10 
21.
IF %d%==0 goto String1 
22.
IF %d%==10 goto String2 
23.
IF %d%==100 goto String3 
24.
:D100 
25.
set d=100 
26.
IF %d%==0 goto String1 
27.
IF %d%==100 goto String3 
28.
IF %d%==10 goto String2 
29.
:STRING1 
30.
set /a d=%d%+%b% 
31.
IF %d%==9 (goto D10) else goto STRING1 
32.
:STRING2 
33.
set /a d=%d%+%b% 
34.
IF %d%==99 (goto D100) else goto STRING2 
35.
:STRING3 
36.
set /a d=%d%+%b% 
37.
IF %d%==200 goto C else goto STRING3 
38.
:C 
39.
set d=0 
40.
set /a c=%c%+%b% 
41.
IF %c%==2015 (goto Reset) else goto JAHR 
42.
:RESET 
43.
if %a% geq 1 if %a% leq 9 set "a=0%a%" 
44.
IF %a%==100 (goto FERTIG) else goto BATCH 
45.
:FERTIG 
46.
pause
lg.
Bitte warten ..
Mitglied: loonydeluxe
22.11.2013 um 22:34 Uhr
Was zum... ich verstehs nicht... was genau soll das tun?

Lässt sich dein Batch-Skript eventuell verkürzen, indem du es rekursiv aufbaust? Also erstmal das eigene Verzeichnis durchsuchen und verarbeiten, anschließend das Skript aufrufen für das Unterverzeichnis aufrufen usw.
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Batch Skript während dem Betrieb mittels GPO laufen lassen (14)

Frage von WinLiCLI zum Thema Windows Server ...

Batch & Shell
Wo ist der Fehler in diesem Batch Skript? (11)

Frage von gabrixl zum Thema Batch & Shell ...

Batch & Shell
Batch Skript erweitern (1)

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

Windows 7
gelöst Batch-Skript oder VBS Skript zum Sichern von Office Vorlagen (2)

Frage von Ceejaay zum Thema Windows 7 ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...