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
Kommentar vom Moderator Biber am 18.01.2012 um 19:48:41 Uhr
Aus einem Kommentar des TO:
...hier die umbennenen bat
Set /a rgc +=1
#792

Batch in unterordner starten

Frage Entwicklung Batch & Shell

Mitglied: weissgarnix

weissgarnix (Level 1) - Jetzt verbinden

17.01.2012, aktualisiert 18.01.2012, 3709 Aufrufe, 13 Kommentare

hallo ,
ich habe ein riesen problem.
ich will mehrere unterordner nach batch dateien durchsuchen und die gefundenen .bat alle nacheinander ausführen.

for /f "delims=" %%i in ('dir /a-d /b /s *.bat') do
bis hierhin bin ich gekommen aber die bats lassen sich nicht im unterordner ausführen .

kann das einer besser...help..
Mitglied: bastla
17.01.2012 um 12:13 Uhr
Hallo weissgarnix und willkommen im Forum!
die bats lassen sich nicht im unterordner ausführen .
kann ich nicht wirklich nachvollziehen - wenn sie nacheinander ausgeführt werden sollen:
for /f "delims=" %%i in ('dir /a-d /b /s *.bat') do call "%%i"
ansonsten
for /f "delims=" %%i in ('dir /a-d /b /s *.bat') do start "" "%%i"
Vielleicht solltest Du aber doch noch etwas genauer erklären, wozu die ganze Aktion gedacht ist ...

Grüße
bastla

P.S.: "Code"-Formatierung ist besser lesbar und lässt sich auch noch im Nachhinein realisieren ...
Bitte warten ..
Mitglied: weissgarnix
17.01.2012 um 17:17 Uhr
hallo bastla

ich danke dir schon mal für deine bemühungen, und versuche das unding noch mal zu erklearen.

Also ich habe eine basis .bat im hauptordner liegen , diese soll nach start in allen unterornern des haupordner die anderen .bat,s finden und direkt eine nach der anderen ausführen.

Ich habe es schon geschaft diese bat,s anzeigen zu lassen aber ich weiß nicht wie man bat.s ausführt, die in einem unbestimmten ordner gefunden werden.

Also der nahme der zu suchenden bat ist start.bat und die liegen in unterordnern, in denen sie dann von der ersten aktivierten bat im hauptordner ausgeführt werden sollen.

vieleicht verstehst du jetzt wo meine schwierigkeit dabei ist.

vieleicht klappt es ja über einen umweg.

grüße und danke weissgarnix
Bitte warten ..
Mitglied: bastla
17.01.2012 um 19:25 Uhr
Hallo weissgarnix!

Eigentlich sollte dann doch mein erster Ansatz passen (wobei sich die Suche noch auf "start.bat" anstelle von "*.bat" einschränken ließe) ...

Grüße
bastla
Bitte warten ..
Mitglied: weissgarnix
17.01.2012 um 19:33 Uhr
ansatz ist bestimmt richtig die start,bat dateien werden gefunden aber dann führt das programm nicht die gefundenen dateien start.bat im unterorner aus.
grüße und danke weissgarnix
Bitte warten ..
Mitglied: bastla
17.01.2012 um 19:35 Uhr
Hallo weissgarnix!
dann führt das programm nicht die gefundenen dateien start.bat im unterorner aus.
... sondern?

Ich habe mal ein paar (einzeilige) "start.bat" in Unterordnern verteilt - wo die liegen und was drin steht zeigt
findstr /s "^" start.bat
mit folgendem Ergebnis
Test\start.bat:@echo in Test 
Test\alt\start.bat:@echo in alt 
Leer\start.bat:@echo in Leer
und ich dann die Batchdatei "RunBatches.cmd" mit folgendem Inhalt
for /f "delims=" %%i in ('dir /a-d /b /s start.bat') do @call "%%i"
ausführe, sieht das Ergebnis so aus:
in Test 
in alt 
in Leer
Grüße
bastla
Bitte warten ..
Mitglied: weissgarnix
17.01.2012 um 19:55 Uhr
die haupt batch start bat die auch im haupvezeichnis des ordner liegt

also im hauptordner liegt eine batch die wird in alle unterordner kopiert wo sie dann mit der rectots.exe einen ts film in trp format umwandeln soll.
diese start.bat im unterordner wird aber nicht ausgeführt sondern die start.bat im haupordner und da liegt keine ts datei .

ich kriege das einfach nicht hin dass, die gefundenen start,bat,s in den unterordnern, nacheinander die ts filme die auch in den unterornern liegen umwandeln.

diese drei dateien liegen in den unterordnern 1. start bat

hier der code

md temp
RecToTs *.ts %cd%/temp\ /8
for /F "Tokens=*" %%i in ('Dir /B *.ts') do move temp "%%~ni

der startet die 2. rectots.exe die die 3. ts datei umwandelt.

diese drei dateien müssen im selben unterordner liegen um zu funktionieren.

wobei ich nur die start.bat zum laufen bringen muss und zwar von der die im oberordner liegt

code for /f "delims=" %%i in ('dir /a-d /b /s *start.bat') do start "" "%%i"

ich hoffe ich konnte dir das jetzt ein bischen besser erklaeren wo die scwierigkeit bei dieser sache liegt.

ich habe schon alles versucht und komme einfach nicht weiter.

aber vieleicht geschehen ja noch wunder .

ich danke dir für deine mühe und hoffe es gibt etwas das problem zu lösen

grüsse weissgarnix
Bitte warten ..
Mitglied: bastla
17.01.2012 um 21:17 Uhr
Hallo weissgarnix!

Verständlicher ist es damit auch nicht wirklich geworden, aber unter der Annahme, dass der jeweilige Unterordner aktiv sein muss, würde ich einfach an den Anfang jeder "start.bat" ein
cd /d "%~dp0"
setzen ...

BTW: %cd% am Beginn einer Pfadangabe ist witzlos ...

Grüße
bastla
Bitte warten ..
Mitglied: icsat
18.01.2012 um 09:45 Uhr
Hallo bastla, hallo weissgarnix,

ich hoffe mal das Problem erkannt zu haben und hätte zwei Lösungsvorschläge:

1. Umbenennen des Ausgangsskriptes (Abweichender Name zu den Anderen Skripten).
2. Ergänzen von bastla's (bei ihm wegen Punkt 1 funktionierender) Codezeile um eine if Abfrage:
01.
for /f "delims=" %%i in ('dir /a-d /b /s start.bat') do if "%%i" NEQ "%~f0" @call "%%i"
Grund:
Der "dir" finden natürlich neben allen "start.bat" in den Unterverzeichnissen auch sich selbst und startet sich damit selbst immer und immer wieder


Schönen Tag noch

icsAT
Bitte warten ..
Mitglied: weissgarnix
18.01.2012 um 19:17 Uhr
Hallo bastla Hallo icsat

Spitze jungs....!!!!

cd /d "%~dp0" war schon super..... !!!!! ! in jede start,bat

und for /f "delims=" %%i in ('dir /a-d /b /s start.bat') do if "%%i" NEQ "%~f0" @call "%%i" hat dann gefunst ....!!!!!! bis auf ne kleinigkeit

die rectots.exe macht mir im hauptordner immer ne temp da da auch eine rectots.exe die ich fohrher in alle unterordner kopiert habe.


und ich kriege die rectots.exe und start.bats nicht aus den unterverzeichnissen raus.

da nachher nur noch der .ts film drin liegen soll.

nochmal vielen ... dank für die anregung

ich zeig euch mal das cödlein---




call Umbenennen.bat

hier die umbennenen bat


@echo on & setlocal


for /F "delims=" %%i in ('dir /b /a-d "* *" 2^>nul') do call :ProcessFile "%%i"


:ProcessFile

set "Name=%~nx1"
ren %1 "%Name: =_%"


un weiter gehts....


sleep 10

for /F "Tokens=*" %%i in ('Dir /B *.ts') do md "%%~ni"|move "%%i" "%%~ni"




for /f "delims=" %%i in ('dir /a-d /b /s *.ts') do copy "RecToTs.exe" "%%~dpi"




for /f "delims=" %%i in ('dir /a-d /b /s *.ts') do copy "start.bat" "%%~dpi"




cd /d "%~dp0"
for /f "delims=" %%i in ('dir /a-d /b /s start.bat') do if "%%i" NEQ "%~f0" @call "%%i"


Hier die start.bat

cd /d "%~dp0"
md temp
RecToTs *.ts %cd%/temp\ /8
for /F "Tokens=*" %%i in ('Dir /B *.ts') do move temp "%%~ni

un weiter gehts....

FOR /R %indir% %%i IN (*.ts) DO move "%%i" %outdir%
FOR /R %%i IN (*.exe) DO del "%%i"

un der letze punkt soll dann die rectotss. exe und start.bat aus den unterordnern löschen,
Bitte warten ..
Mitglied: bastla
18.01.2012 um 20:40 Uhr
Hallo weissgarnix!

Um den Ausgangsordner nicht mit zu verarbeiten (was eine weitere Lösung wäre, um das Ausführen der "start.bat" dort zu vermeiden), könntest Du folgende Schleife verwenden:
for /d %%o in (*) do for /f "delims=" %%i in ('dir /a-d /b /s "%%o\start.bat"') do call "%%i"
Auf die gleiche Art sollten sich die vielen "rectots.exe" und "start.bat" (von denen ich einfach nicht glauben mag, dass die wirklich alle nötig sind ) wieder loswerden lassen:
01.
for /d %%o in (*) do ( 
02.
    del /s /q "%%o\rectots.exe" >nul 2>nul 
03.
    del /s /q "%%o\start.bat" >nul 2>nul 
04.
)
Grüße
bastla

[Edit] Falls es Unterordner ohne "start.bat" geben sollte, wäre
for /d %%o in (*) do for /f "delims=" %%i in ('dir /a-d /b /s "%%o\start.bat" 2^>nul') do call "%%i"
etwas "schöner" ...
[/Edit]
Bitte warten ..
Mitglied: weissgarnix
18.01.2012 um 21:27 Uhr
hallo bastla

dake für die schnelle antwort.

Hab die erste zeile for /d %%o in (*) do (for /f "delims=" %%i in ('dir /a-d /b /s "%%o\start.bat"') do call "%%i") ausprobiert der temporaere ordner taucht nicht mehr auf aber es wandelt nur eine ts datei in einem ordner um und nicht die anderen.

ich versuch noch ein par sachen zu aendern aber ich weis nicht ob ich das so richtig hin krieg.

danke dir sehr führ deine hilfe.
Bitte warten ..
Mitglied: bastla
18.01.2012 um 21:38 Uhr
Hallo weissgarnix!
wandelt nur eine ts datei in einem ordner um und nicht die anderen.
Schwer nachvollziehbar - es ändert sich ja nichts am Aufruf der Batches in den Unterordnern ...

Grüße
bastla

P.S.: Darf ich Dich nochmals (wie schon in meinem ersten Kommentar oben) auf die Möglichkeit der "Code"-Formatierung hinweisen?
Bitte warten ..
Mitglied: Biber
19.01.2012 um 17:05 Uhr
[OT]
Moin bastla,

Zitat von bastla:
P.S.: Darf ich Dich nochmals (wie schon in meinem ersten Kommentar oben) auf die Möglichkeit der
"Code"-Formatierung hinweisen?
Falls du weiterhin diesbezüglich ignoriert wirst ->dann verschiebe ich den Beitrag in einen angemesseren Bereich.

@weissgarnix
Ich finde den Beitrag ganz schön anstrengend, aber es liegt weniger an der Komplexität der Aufgabe, eher an der Formulierung.

Oder anders ausgedrückt: wenn du das Problem in Form eines 3minütigen Videoclips hier eingestellt hättest und wir hätten auch sehen können, was da auf deinem Monitor zu sehen ist....
.... -> dann wäre schon drei Tage lang ein grüner Haken dran.

Grüße
Biber
[/OT]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch erst starten wenn bestimmte Datei vorhanden ist (7)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch, Aufgabe mit höchsten Previlegien soll Outlook "normal" starten (6)

Frage von Zunaras zum Thema Batch & Shell ...

VB for Applications
VBS oder Batch um eine Datei in Unterordner zu verschieben (1)

Frage von MrRoyal zum Thema VB for Applications ...

Batch & Shell
gelöst Dateien mit Teil des Dateinamen per Batch in Unterordner verschieben (14)

Frage von smitternacht 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
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Haures zum Thema Windows Server ...