Windows cmd에서 사용자 입력을 요청하고 그 결과를 다른 명령에 사용하려면 어떻게 해야 하나요?

사용자 입력을 수락한 다음 해당 입력 결과를 추가 명령 호출의 일부로 사용하고 싶은 Windows .bat 파일이 있습니다.

예를 들어, 사용자로부터 프로세스 ID를 받은 다음 해당 ID에 대해 jstack을 실행하여 jstack 호출의 결과를 파일에 넣고 싶습니다. 그러나 이 방법을 시도하면 작동하지 않습니다.

다음은 샘플 bat 파일 내용입니다:

@echo off
set /p id=Enter ID: 
echo %id%
jstack > jstack.txt

다음은 jstack.txt에 표시되는 내용입니다:

ID를 입력합니다: 배치 작업 종료(Y/N)?
질문에 대한 의견 (6)

시도해 보세요:

@echo off
set /p id="Enter ID: "

그런 다음 %id%jstack %id%와 같은 다른 배치 파일에 매개변수로 사용할 수 있습니다.

예시:

set /P id=Enter id: 
jstack %id% > jstack.txt
해설 (5)

구문은 다음과 같습니다: set /p variable=[string]

다양한 버전의 Windows OS 배치 파일에 대한 사용자 입력에 대해 자세히 알아보려면 http://commandwindows.com/batch.htm 또는 http://www.robvanderwoude.com/userinput.php 을 참조하세요.

변수를 설정한 후에는 다음과 같은 방식으로 변수를 사용할 수 있습니다.

@echo off
set /p UserInputPath=What Directory would you like?
cd C:\%UserInputPath%

변수명%` 구문에 유의하세요.

해설 (7)

모든 버전의 Windows에 해당되는지는 확실하지 않지만, 제가 사용하는 XP 컴퓨터에서는 다음을 사용해야 합니다:

set /p Var1="Prompt String"

따옴표 안에 프롬프트 문자열이 없으면 텍스트에 따라 다양한 결과가 나타납니다.

해설 (3)
set /p choice= "Please Select one of the above options :" 
echo '%choice%'

이 이후 공백 '=' 매우 중요하다.

해설 (0)
@echo off
set /p input="Write something, it will be used in the command "echo""
echo %input%
pause

만약 내가 프레젠테이션이든 그리웠댔지 이 작동합니다. 너무 %input% 다른 명령에서 사용할 수 있습니다.

@echo off
echo Write something, it will be used in the command "echo"
set /p input=""
cls
echo %input%
pause 
해설 (0)

문서화했습니다 없다 / 프롬프트합니다 캐비닛용입니다 세스 매개 변수를 설정할 수 없을 것으로 보인다.

확인 할 경우 환경 변수를 저장할 수 있는 it will survive 재부팅되면 세스 사용할 수 있습니다.

39, t 가 만든 변수는 세스 won& 재시작해야 때까지 명령 프롬프트에서 사용할 수 있습니다. 그러나 이미 설정되었습니다 잘 수 있는 변수를 세스 경우에도 같은 이름을 가지고 있다.

나를 이 방법은 윈도우 8.1 의 장점:

set /p UserInfo= "What is your name?  "
setx UserInfo "%UserInfo%"

(따옴표가 수립하였습니다 기존 변수를 필요합니다.)

이 절차는 창조하 설정되었습니다 동안 임시 변수를 사용할 수 있습니다 현재 세션이고, 하면 세스 생성되는가 재사용합니다 가변적입니다 컴퓨터의 명령 프롬프트 재시작하시겠습니까 재부트하는 있다.

(편집됩니다 포맷하십시오 단락의 코드가 올바르게.)

해설 (0)
@echo off
:start
set /p var1="Enter first number: "
pause
해설 (2)

두 가지 가능성이 있어.

  1. '' 를 넣을 수 있는 '콜' 이스타크 깜박하셨다고 %id%.

이스타크 %id% &gt. 이스타크.t스트

그래서 정확한 배치 파일 전체를 합니다.

@echo off
set /p id=Enter ID: 
echo %id%
jstack %id% > jstack.txt

및/또는 2. 재발했지 넣을 때 코드 (및 라고 하는 것을 알 수 있지만) 를 입력하면 배치 파일이 resistor1.prt hit Enter 키를 실행했음 대신 (말하도다 ID 1234년).

현재 이 두 가지 실수를 what& # 39 의 결과입니다. '' 가 제공한 불렀으매 이스타크 되어야 하는 것입니다.

그러나 케이스에 따라 사용자가 입력한 코드를 의 문제) 이 변수 없이 전화한 거야. 너회가 다음과 같이 썼다.

jstack > jstack.txt

그래서 '변수 없이 실행할 때 이스타크' 이 출력입니다 다음과 같습니다.

Terminate batch file Y/N? 

두 번째 실수 값을 대신 에로남이네 너회가 눌려졌습니다 진입하십시오 확증하노라 때 프로그램 명령했죠. '회원가입시 ID: '. 라고 하면 이 시점에서 방황토록 작업공간에서 id 1234년), '이 값을 emc 의 경우 1234년 가변적입니다 %id%' 가 될 것 "이라고 말했다. 그러나 재발했지 값을 제공하지 않고, 모든 변수의 값을 t give don& 때 눌려졌습니다 입력하십시오.. # 39 는 설정되지 않은 다른 사항은요 전에는요, 그리고 만약 그 가변으로 가변적입니다 '다음' 의 '세트' 명령 프롬프트에 설정되었습니다 %id%!! 이제 '%id%' 로 설정되었습니다 '가 울려 입력하십시오. ID:' 라는 요청에 따라 전에 화면에 배치 파일의 이스타크.

하지만 난 용의자요 재발했지 있는 '이스타크 %id% &gt. 이스타크.t스트 배치 파일을 사용하여 코드 '에' %id ' (및 생략된 실수로 질문에 있는 정보기술 (it), 그리고 너희가 enter 배치 프로그램에 입력할 필요가 있는 id, id 가 울려 이제 입력하십시오. ID:&quot &quot., 그 후' 이스타크 실행했음 입력하십시오. ID: &gt. 이스타크.t스트 '

입력, 실수와 종료시킵니다 이스타크 자체가) 에서 울려 줄 것을 요청했다. 이 모든 일에 작성된 이스타크.t스트 꽂으십시오 절실해졌습니다.

해설 (0)

나도 좀 cmd 내가 사용하는 pc 를 준비할 때 클라이언트: 사용자가 pc 를 위한 입력 및 it 페이징됩니다 변경하십시오 iqn.

@ECHO "remember to run this as admin."
@ECHO OFF
SET /P _inputname= Please enter an computername:
@ECHO Du intastede "%_inputname%"
@ECHO "The pc will restart after this"
pause
@ECHO OFF
wmic computersystem where name="%COMPUTERNAME%" call rename name="%_inputname%"

shutdown -r -f
해설 (1)

하지만 내 주변에 달러 예증들을 가변적입니다 작동하지 않는 머시닝할 vistatm 퍼센트 기호 "이다. 또한 후행 공간이 set&quot "; 줄은 프롬프트합니다 및 사용자 입력을 사이의 무산되었다.

해설 (3)

그냥 추가했어야

set /p NetworkLocation= Enter name for network?

echo %NetworkLocation% >> netlist.txt

netsh 일괄작업 죠브 e0100042.log 내 내가 지금 내게 위치에 따라 그 샘플에 대한 요점이지 목격하고서야 보여 줍니다. 난 계속 &gt >; 그래서,, 이제서야 &quot 출력 파일을 home&quot &quot work&quot Starbucks&quot ";;, etc. 가장 낮은 사용할 수 있는지, 내가 찾는 airname 선택해제합니다 이불라트 가공할지 5 채널 및 모든 2.4 /800mhz wlan 있다.

해설 (0)

그냥 계속 변수의 기본값입니다. Enter 키를 눌러 사용할 수 있는 기본 최근 실행하십시오 .bat:

@echo off
set /p Var1= Var1.txt

rem YourApp %Var1%

처음 실행 파일에 대한 메시지를 그냥 무시하시겠습니까 부족 (초기 변수 값을 (아니면 Var1.txt 만듭다 수동으로로).

해설 (3)