"Je veux connaître l'appelant de la fonction XX, alors listez-le." Quand on m'a dit de compter
Comme il était là, il me semblait difficile de rechercher 150 fois à l'aide de l'IDE, j'ai donc réussi à le faire avec un fichier batch. Ne demandez pas pourquoi ce n'est pas bash ou pourquoi vous devez le faire.
bat
et résultat de l'exécutiongrepCallHierarchy.bat
@echo off
setlocal enabledelayedexpansion
set i=0
for /f %%a in (targetList.txt) do (
set /a i+=1
echo !i! %%a
call set Arr[!i!]=%%a
)
pause
for /r %%a in (*.java) do (
for /f "tokens=1,2,3 delims= " %%b in (%%a) do (
for /l %%j in (1,1,%i%) do (
if !Arr[%%j]!==%%c (
echo %%a %%b %%c %%d
)
)
)
)
targetList.txt
NantokaComponent
KantokaComponent
production
C:\path\to\file1.java private NantokaComponent nantokaComponent;
C:\path\to\file2.java private KantokaComponent kantokaComponent;
C'est devenu une pratique de divers pour les phrases.
for /r %%a in (*.java) do
for /f "tokens=1,2,3 delims= " %%b in (%%a) do
for /l %%j in (1,1,148) do
call set Arr[!i!]=%%a
Comme je l'ai appris pour la première fois, les fichiers batch n'ont pas de tableau.
Il semble qu'ils créent juste une variable appelée ʻArr [1] ʻArr [2]
...
setlocal enabledelayedexpansion
Quand vous voulez boucler un tableau avec des indices, il semble que ce sera toujours ʻArr [1] `(valeur initiale) sauf si vous faites une évaluation différée. C'est difficile. ..
La partie que vous voulez évaluer tardivement est entourée d'une marque surprise comme ʻArr [! I!] Au lieu de ʻArr [% i%]
.
J'ai été surpris.
était amusant. (Petite sensation) Pendant que je le faisais, je pensais qu'il y avait aussi PowerShell. La prochaine fois que je veux jouer avec PowerShell.
Recommended Posts