大家好保持,使用.bat文件通過文件夾和遞歸循環得到的.class文件
這就是我想要做的事。我有一個.bat文件,它接受一個只是文件夾名稱的參數。我首先要做的是上一層(cd ..)。現在在這個目錄中,我有3個文件夾,每個文件夾都有子文件夾,並在其中有.class文件。
我想要做的是循環遍歷文件夾並獲取.class文件。一旦完成,我想要回顯.class文件的目標文件夾以及回顯該.class文件的名稱。
因此c:\ temp \ potter \ myclass.class。我會迴應c:\ temp \ potter \和myclass。
我可以通過編寫一個單獨的bat文件來實現這一點。但是當我將它與遞歸函數整合時,它似乎打破了。
這是我在做什麼:
:: 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...
但是我只得到一個目錄的輸出,雖然我有.class文件的多個目錄。這似乎沒有遞歸循環。
這是輸出我得到:
第3步......
全部文件位置 C:\ NKCV \項目\ MyActivities \ 6_Selenium \ htmlTestCasesConve rted2JUnit \ IEXPLORE \流2 \ testCase_app2的.class
文件夾位置 C:\ NKCV \項目\ MyActivities \ 6_Selenium \ htmlTestCasesConverte d2JUnit \ IEXPLORE \流2
文件名testCase_app2
第3步完成...
缺少!
使用htmltestCaseLocation
爲如 「C:\ NKCV \項目\ MyActivities \ 6_Selenium \ htmlTestCases」。
任何人都可以請讓我知道什麼是錯在這裏?
謝謝。