
Windows 명령 프롬프트에서 명령 대체를 어떻게 수행할 수 있습니까?
명령 대체는 UNIX 쉘의 매우 강력한 개념입니다. 한 명령의 출력을 두 번째 명령에 삽입하는 데 사용됩니다. 예를 들어 과제가 있는 경우:
$ today=$(date) # starts the "date" command, captures its output
$ echo "$today"
Mon Jul 26 13:16:02 MEST 2004할당 외에 다른 명령과 함께 사용할 수도 있습니다.
$ echo "Today is $(date +%A), it's $(date +%H:%M)"
Today is Monday, it's 13:21이것은 date 명령을 두 번 호출합니다. 첫 번째는 요일을 인쇄하고 두 번째는 현재 시간을 인쇄합니다.
명령 프롬프트에서 이 작업을 수행하려면 알아야 합니다. (명령의 일부를 사용하여 이와 같은 작업을 수행하는 방법이 있다는 것을 이미 알고 있지만 for
이 방법은 훨씬 더 난독화되고 복잡합니다.
답변1
DOS에서는 그렇게 할 수 없습니다.
DOS에서 Windows 명령 프로세서를 의미하는 경우 다음을 cmd.exe
사용하여 명령 출력을 얻을 수 있습니다 for /f
.
for /f %%x in ('date') do set "today=%%x"
요구 사항에 따라 이는 좀 더 복잡해질 수 있습니다.