大家好保持,使用.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”。
任何人都可以请让我知道什么是错在这里?
谢谢。