내 컴퓨터의 일부 cmd 문제를 피할 수 있도록 배치 파일을 만들고 싶지만,이를 위해 String 사용자 입력을 받아 명령으로 실행할 수 있어야합니다.배치 파일을 명령으로 실행하는 방법은 무엇입니까?
기본적으로 내가 배치 파일 입력을 요청하는 명령을 입력하면됩니다 및 명령 컴퓨터 실행, 파이썬의 os 모듈과 유사 (클래스?)
내 컴퓨터의 일부 cmd 문제를 피할 수 있도록 배치 파일을 만들고 싶지만,이를 위해 String 사용자 입력을 받아 명령으로 실행할 수 있어야합니다.배치 파일을 명령으로 실행하는 방법은 무엇입니까?
기본적으로 내가 배치 파일 입력을 요청하는 명령을 입력하면됩니다 및 명령 컴퓨터 실행, 파이썬의 os 모듈과 유사 (클래스?)
는 단순히를 할당을 할 수 있도록하려는 것 이 입력하라는 메시지를 표시하는 프로그램
예를 들어
set myvar=ECHO Hello, World!
%myvar%
사용 set /p
명령했다 것처럼 변수에 문자열, 다음 변수를 "실행". 이 명령은 또한 메시지를 표시합니다. 예 : 간단한에서
@echo off
set "command=dir"
set /p "command=type in a command: "
echo.command is: %command%
echo.press any key or ^<CTRL+C^> to abort . . .
>nul pause
%command%
, 당신은 결과에 환경 변수를 설정하면 명령 프롬프트 set /p
를 사용하려면, 단순히 그 자체로 환경 변수를 확장하여 OS는로 실행을 시도합니다 명령.
Endo의 대답은 더 깨끗한 출력을 위해 "echo off"를 설정하고 배치 파일로 작업 할 때 좋은 코딩 방법 인 일부 문자 등을 이스케이프 처리하지 않으려면 따옴표로 묶는 것으로 "완료"됩니다. 그러나 미니멀리스트 코드는 질문에만 초점을 맞추고 싶습니다. 원하는 형식으로 투표하거나 받아들입니다. :-) –
, 이것은 파워 쉘 명령 프롬프트에서 나를 위해 작동하지만
SET /P COMMAND=Command:
%COMMAND%
:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\Administrator>FOR /F "delims=" %i IN ('python -c "print('set wow=yep')"') DO set toexec=%i
C:\Users\Administrator>set toexec=set wow=yep
C:\Users\Administrator>%toexec%
C:\Users\Administrator>echo %wow%
yep
을 나는에 %이 MyVar의 %의 출력을 리디렉션 할 경우 어떻게 파일? 내가 시도 :'% myvar %> myfile.txt',하지만 불평 : "명령의 구문이 올바르지 않습니다." – Apteryx
@Apteryx : 캐럿으로'>'을 단순히 "이스케이프"합니다 :'^>'이것은 다음 문자의 특별한 의미를 없앱니다. – Magoo