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, 1079 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von Ceejaay zum Thema Windows 7 ...

Batch & Shell
gelöst Batch-Skript für Druckerzuweisung auf Terminalserver - Variablenproblem (3)

Frage von BirdyB zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...