Verwenden .bat-Datei rekursiv in einer Schleife durch Ordner und ergattern .die class-Dateien

HALLO alle,

Dies ist, was ich versuche zu tun. Ich habe eine .bat-Datei, die in einem argument, das ist nichts anderes als ein Ordner-Namen. Was ich zuerst tun ist, gehen Sie eine Ebene nach oben (cd ..). Jetzt in diesem Verzeichnis habe ich 3 Ordner und in jedem Ordner mit sub-Ordner und Ordner haben .die class-Dateien in Ihnen.

Was ich tun will ist rekursiv Durchlaufen Sie die Ordner und die .class-Dateien. Sobald dies erledigt ist, will ich echo das Zielverzeichnis für die .class-Datei als auch als echo der name von the.class Datei.

So c:\temp\potter\myclass.class. Ich würde echo aus c:\temp\potter\ und myclass.

Ich bin in der Lage, dies zu tun, indem eine separate bat-Datei, die funktioniert. Wenn ich aber integrieren diese mit der rekursiven Funktion scheint es zu brechen.

Dies ist, was ich Tue:

:: call the junit classes... and save the results

echo step 3...

cd %1

cd ..

for /r %%a in (*.class) do set Var=%%a

echo Full file location %Var%

for %%i in ("%Var%") do Set CF=%%~dpi 

Set CF=%CF:~0,-1%

:LOOP

If "%CF:~-1,1%"=="\" GoTo :DONE

Set CF=%CF:~0,-1%

GoTo :LOOP

:DONE

Set CF=%CF:~0,-1%

echo Folder Location %CF%

::cd %CF%

For %%j in ("%Var%") Do Set name=%%~nxj

:: -6 because of Quotations

Set name=%name:~0,-6%

echo File Name %name%

echo step 3 complete...

Jedoch bekomme ich nur die Ausgabe in einem Verzeichnis, während ich mehrere Verzeichnisse mit .class-Dateien. Dies scheint nicht rekursiv-Schleife.

Dies ist die Ausgabe die ich bekomme:

Schritt 3...

Volle Speicherort der Datei
C:\NKCV\Projekt\MyActivities\6_Selenium\htmlTestCasesConve
rted2JUnit\iexplore\flow2\testCase_app2.class

Ordner
C:\NKCV\Projekt\MyActivities\6_Selenium\htmlTestCasesConverte
d2JUnit\iexplore\flow2

Dateiname testCase_app2

Schritt 3 abgeschlossen...

fehlende argument!

Nutzung htmltestCaseLocation

zB.,
"C:\NKCV\Project\MyActivities\6_Selenium\htmlTestCases"

Könnte jemand bitte lassen Sie mich wissen, was läuft hier falsch?

Dank.

InformationsquelleAutor user320550 | 2010-04-19

Schreibe einen Kommentar