2017-11-25 1 views
0

CMD 사용에 도움이 필요합니다. 나는 아마추어 프로그래머이므로 기술 용어와 친하게 지내십시오! 그러나 필자는 필자에게 필요한 것은 프로그래머에게는 매우 간단하다고 생각한다.CMD를 통해 기호로 문자를 대체하십시오

매우 느린 MS Windows PC에서 실행되는 간단한 텍스트 인 코드/디코드 봇 (WinAutomation 소프트웨어 사용)을 개발 중입니다. 나는 몇 년 동안 나 자신의 인코딩/디코딩 방법을 사용하므로 기성품 솔루션을 사용하는 것에 관심이 없다. 명령 줄을 사용하여 텍스트 (변수)의 문자를 기호로 대체하거나 기호로 대체 할 수 있기를 원합니다.

예 : "A"것 "[?]"
"B", "[*]"
는 "C"가 될 것이다 것 "[/]"

반대로

은 "[?]"입니다 "A"는
은 "[*]", "B"일 것이다
기타 I은 130 개 문자를 교체 할 수있는 루프를 사용하고

. 루프가 매우 빠르게 실행되고 느린 PC에서 CPU 및 메모리 과부하가 발생합니다. 다른 한편으로는, 루프의 마지막에 대기 액션을 놓으면 (최소 1 초), 교체 작업은 130 초 후에 완료됩니다. 이것은 시간 낭비입니다!

CMD를 통해 한꺼번에 대체하려면 한 줄의 코드가 필요합니다. 프로그래머는 나에게 그것이 작동하는 것 같다 아래 코드의 조각을 제안하지만 내가 한 줄에 변환 할 수 있습니다 어떻게 한 줄

SET _test=12345abcabc 
SET _result=%_test:ab=xy% 
SET _result=%_result:1=2% 

하지? 나는 시도했다 & & 및 || 그러나 나는 잘못된 것을하고있다!

아래 WinAutomation의 실행 명령 창에서 이미지를 업로드했습니다. 여기에서 볼 수 있습니다 https://imgur.com/3hbcCZE.

고맙습니다.

답변

0

이것은 한 줄로 입력 할 수 있습니다. ENABLEDELAYEDEXPANSION을 설정해야합니다. 한 줄 앞뒤에있는 코드는 변수가 아무 것도 설정되지 않도록하고 아무것도 설정하지 않았 음을 나타 내기위한 것입니다.

C:>type and.bat 
@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 

SET "_test=" 
SET "_result=" 
ECHO _test is %_test%, _result is %_result% 

REM Here is the one (1) line. 

SET "_test=12345abcabc" && SET "_result=!_test:ab=xy!" && SET "_result=!_result:1=2%! 

ECHO _test is %_test%, _result is %_result% 

다음은 스크립트를 실행 한 결과입니다.

C:>CALL and.bat 
_test is , _result is 
_test is 12345abcabc, _result is 22345xycxyc 
+0

안녕하세요! 답장을 보내 주셔서 감사합니다. 내가 뭔가 잘못한 것 같다! 볼 수있는 cmd 화면을 업로드했습니다! https://imgur.com/wyxJSVX – coreto98

+0

그건 그렇고, 나는 또한 [==] 대체품을 사용하고 있습니다. 예를 들어, c = [==] 또는 d = [ "]. 나는 bat 파일을 통해 스크립트를 실행하고 대체 안에 몇 가지 기호가 있습니다. 나는 [Β ©] 인스 트루먼 츠를 얻는다 [©] – coreto98

+0

이미지를 넣을 수 있습니다. 질문을 수정하십시오. – lit

관련 문제