[JAVA] Einführung in Batch-Dateien (für Anweisungen, Arrays, verzögerte Umgebungsvariablen)

Motivation

"Ich möchte den Anrufer der XX-Funktion kennen, also liste ihn auf." Als mir gesagt wurde, ich solle zählen

Da es dort war, schien es schwierig zu sein, 150 Mal mit der IDE zu suchen, also schaffte ich es mit einer Batch-Datei. Fragen Sie nicht, warum es nicht Bash ist oder warum Sie das tun müssen.

Erstellt "Bat" -Datei und Ausführungsergebnis

grepCallHierarchy.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

Ausgabe

C:\path\to\file1.java private NantokaComponent nantokaComponent;
C:\path\to\file2.java private KantokaComponent kantokaComponent;

Impressionen (was ich gelernt habe)

zur Aussage

Es wurde eine Praxis von verschiedenen für Sätze.

Array

call set Arr[!i!]=%%a

Wie ich zum ersten Mal erfahren habe, haben Batch-Dateien kein Array. Es scheint, dass sie nur die Variable Arr [1] Arr [2] erstellen ....

Verzögerte Umgebungsvariable

setlocal enabledelayedexpansion

Wenn Sie ein Array mit Indizes schleifen möchten, scheint es immer "Arr [1]" (Anfangswert) zu sein, es sei denn, Sie führen eine verzögerte Auswertung durch. Es ist schwierig. ..

Es scheint, dass der Teil, den Sie spät bewerten möchten, von einem Überraschungszeichen wie "Arr [! I!]" Statt "Arr [% i%]" umgeben ist. Ich war überrascht.

Allgemeiner Kommentar

war Spaß. (Kleines Gefühl) Während ich es machte, dachte ich, dass es auch PowerShell gibt. Nächstes Mal möchte ich mit PowerShell spielen.

Recommended Posts

Einführung in Batch-Dateien (für Anweisungen, Arrays, verzögerte Umgebungsvariablen)
Einführung in die Programmierung für Studenten: Variablen
Einführung in Kotlin für iOS-Entwickler ①-Umgebungskonstruktion
Einführung in JAR-Dateien
Einführung in die Programmierung für Studenten: Einführung
Hinweis: Zuweisen und Anzeigen von Werten für mehrdimensionale Arrays und Üben erweitert für Anweisungen
Einführung in Java zum ersten Mal # 2
Einführung in Kotlin für iOS-Entwickler lin ー Kotlin-Erstellung
Verwendung von Umgebungsvariablen in RubyOnRails
Einführung in Kotlin für iOS-Entwickler ④-Typ