programing

Windows CMD에서 두 개의 명령을 한 줄로 실행하려면 어떻게 해야 합니까?

mbctv 2023. 4. 16. 15:35
반응형

Windows CMD에서 두 개의 명령을 한 줄로 실행하려면 어떻게 해야 합니까?

Windows CMD 콘솔에서 두 가지 명령을 실행합니다.

Linux에서는 다음과 같이 합니다.

touch thisfile ; ls -lstrh

Windows 에서는 어떻게 하고 있습니까?

2000년 이후 모든 Microsoft OS에서 이와 같이 현재도 유효합니다.

dir & echo foo

첫 번째 명령어가 정상적으로 종료된 경우에만 두 번째 명령을 실행하는 경우:

dir && echo foo

한 줄에 여러 명령을 실행하기 위한 단일 앰퍼샌드(&) 구문은 Windows XP, Windows 2000 및 일부 이전 버전의 NT로 돌아갑니다.(여기 코멘터에 따르면 4.0 이상).

이 페이지 아래쪽으로 스크롤되는 이 밖에도 꽤 많은 포인트가 있습니다.

교육적이라고 생각되는 사람들을 위해 역사적 데이터가 뒤따른다.

그 이전에는 && 구문은 Microsoft 명령어 인터프리터에 셸 치환용 4DOS의 기능에 불과했습니다.

Windows 95, 98 및 Me에서는 파이프 문자를 대신 사용합니다.

dir | echo foo

MS-DOS 5.0 이후에서는 일부 이전 버전의 Windows 및 NT 명령어 인터프리터를 통해 (문서화되어 있지 않은) 명령어 구분자는 문자 20(Ctrl+T)이었습니다.여기서는 ^T로 나타냅니다.

dir ^T echo foo

매뉴얼에서 인용한 문구:

여러 명령 및 조건부 처리 기호 사용

조건부 처리 기호를 사용하여 단일 명령줄 또는 스크립트에서 여러 명령을 실행할 수 있습니다.조건부 처리 기호를 사용하여 여러 명령을 실행하는 경우 조건부 처리 기호 오른쪽에 있는 명령은 조건부 처리 기호 왼쪽에 있는 명령 결과에 따라 작동합니다.

예를 들어 이전 명령이 실패한 경우에만 명령을 실행할 수 있습니다.또는 이전 명령이 성공한 경우에만 명령을 실행할 수도 있습니다.

다음 표에 나열된 특수 문자를 사용하여 여러 명령을 전달할 수 있습니다.

  • & [...]
    command1 & command2
    명령어를 실행합니다.Cmd.exe는 첫 번째 명령을 실행하고 두 번째 명령을 실행합니다.

  • && [...]
    command1 && command2
    "는 첫 명령어가 정상적으로에만 두 합니다.Cmd.exe는 첫 번째 명령을 실행하고 첫 번째 명령이 성공적으로 완료된 경우에만 두 번째 명령을 실행합니다.

  • || [...]
    command1 || command2
    | | | | | | | | | | | | |,,,,,, 명령어가 되지 않은 에만 두 보다 큰 에러 ).Cmd.exe는 첫 번째 명령을 실행하고 첫 번째 명령이 성공적으로 완료되지 않은 경우에만 두 번째 명령을 실행합니다(제로보다 큰 오류 코드를 수신).

  • ( ) [...]
    (command1 & command2)
    여러 명령을 그룹화하거나 중첩하기 위해 사용합니다.

  • ; or ,
    command1 parameter1;parameter2
    명령 매개 변수를 구분하기 위해 사용합니다.

&는 Bash에 합니까?;commands )및 (run " " " )&&는 Bash에 하는 Bash입니다.&&(이전 명령으로 인해 오류가 발생하지 않은 경우에만 명령을 실행합니다).

(데스크탑 등) cmd 단축키를 작성하려면 /k 파라미터를 추가합니다(/k는 keep를 의미하고 /c는 창을 닫습니다).

cmd /k echo hello && cd c:\ && cd Windows

& 를 사용하면, 커맨드를 차례차례 실행할 수 있습니다. ::c:\dir & vim myFile.txt

콜을 사용하여 환경변수가 너무 빨리 평가되는 문제를 해결할 수 있습니다(예:

set A=Hello & call echo %A%

같은 회선상에서 복수의 커맨드를 실행하고 있는 경우는, 다수의 처리 기호를 사용할 수 있습니다.또한 경우에 따라서는 리다이렉트 처리, 출력 변경, 또는 실패가 발생할 수 있습니다.변수를 조작하는 명령어를 같은 행에 배치하는 것이 중요합니다.

@echo off
setlocal enabledelayedexpansion
set count=0
set "count=1" & echo %count% !count!

0 1

위의 예에서 보듯이 변수를 사용하는 명령어를 같은 행에 배치하는 경우 변수 값을 업데이트하려면 지연된 확장을 사용해야 합니다.변수가 인덱스 되어 있는 경우 %% 수식자와 함께 CALL 명령을 사용하여 동일한 행의 값을 업데이트합니다.

set "i=5" & set "arg!i!=MyFile!i!" & call echo path!i!=%temp%\%%arg!i!%%

path5=C:\Users\UserName\AppData\Local\Temp\MyFile5

cmd /c ipconfig /all & Output.txt

하여 를 엽니다.Output.txt

저는 '실행'이라는인 작업을 .RegAsm이치노력하다내가 가지고 있던 문제는 그 결과가 내가 읽기도 전에 번뜩이고 사라질 것이라는 것이었다. 래래 to to to to에 로 접속해 .Pause명령어가 실패했을 때는 동작하지 않습니다(여기에서는 Pause 명령어가 .bat 스크립트로 동작하지 않습니다.여기서는 Batch file 명령어 PAUSE가 동작하지 않습니다).그래서 노력했어요cmd /k더 많은 명령어를 사용할 수 있는 창이 열려 있습니다(결과만 보고 싶습니다). 저는...을 했습니다.pause에 어 followed가 붙는다.exit.

cmd /k C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "%1" /codebase \"%1\" & pause & exit

RegAsm은 파일상에서 실행되어 그 결과를 표시하고 나서, 「계속하려면 아무 키나 눌러 주세요." 프롬프트가 표시되고 키를 누르면 명령 프롬프트 창이 닫힙니다.

P.S. 다음 .reg 파일엔트리를 사용하여 dll 파일어소시에이션을 .dll 파일에 추가한 후 RegAsm 명령어 확장자를 추가할 수 있습니다(탈락 따옴표 및 백슬래시에 주의).

[HKEY_CLASSES_ROOT\.dll]
"Content Type"="application/x-msdownload"
@="dllfile"

[HKEY_CLASSES_ROOT\dllfile]
@="Application Extension"

[HKEY_CLASSES_ROOT\dllfile\Shell\RegAsm]
@="Register Assembly"

[HKEY_CLASSES_ROOT\dllfile\Shell\RegAsm\command]
@="cmd /k C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\regasm.exe \"%1\" /codebase \"%1\" & pause & exit"

이제 어셈블리를 등록할 수 있는 좋은 오른쪽 클릭 메뉴가 있습니다.

윈도에서는 위의 솔루션을 모두 사용했습니다.&, &&하지만 아무것도 소용없었어 결국엔';'심볼은 나에게 효과가 있었다.

npm install; npm start

두 가지 옵션이 있습니다. 파이프, 아니면 그냥&:

DIR /S & START FILE.TXT

아니면...

tasklist | find "notepad.exe"

파이프(|)는, 어느 커맨드의 출력을 다른 커맨드에 입력하는 경우에 적합합니다.그리고 (&)는 이것저것 실행하라는 것입니다.

사용하다&한 줄에 명령을 사용할 창의 기호

C:\Users\Arshdeep Singh>cd Desktop\PROJECTS\PYTHON\programiz & jupyter notebook

Linux에서 사용하는 것처럼

touch thisfile ; ls -lstrh

두 명령을 동시에 실행하려면 두 명령어 사이에 &(앰퍼샌드) 기호를 넣어야 합니다.다음과 같은 경우:

color 0a & start chrome.exe

건배!

같은 창에 2개의 ping을 설정하려고 합니다.이것은 같은 회선상의 시리얼 명령어입니다.첫 번째 명령을 완료한 후 두 번째 명령을 실행합니다.

해결책은 다음과 같이 결합하는 것이었습니다.start /bWindows 7 명령 프롬프트에 표시됩니다.

없이 평소와 같이 시작/b다른 창에서 기동합니다.

같은 행으로 기동할 때 사용하는 명령어는 다음과 같습니다.

start /b command1 parameters & command2 parameters

어쨌든, 만약 당신이 출력을 해석하고 싶다면, 나는 이것을 사용하는 것을 추천하지 않는다.명령어 출력 간에 출력이 뒤섞여 있는 것을 알 수 있었습니다.

높은 cmd를 시작하고 두 개의 개별 명령을 실행하기 위해 배치 파일을 생성하려고 했습니다.사용했을 때&또는&&캐릭터들, 문제가 생겼어요.예를 들어, 배치 파일의 텍스트는 다음과 같습니다.

powershell.exe -Command "Start-Process cmd \"/k echo hello && call cd C:\ \" -Verb RunAs"

해석 오류 발생:

해 본 , 에워싸다.&&"&&"★★★★

powershell.exe -Command "Start-Process cmd \"/k echo hello "&&" call cd C:\ \" -Verb RunAs"

결과는 다음과 같습니다.

실행결과

이것이 누군가에게 도움이 될 수도 있다:)

아요 no요 。cd / && tree && echo %time%에코된 시간은 첫 번째 명령어가 실행된 시점입니다.

배관에 문제가 있지만, 사람들이 배관의 작동 방식을 알고 있는 한 중요하지 않습니다.

하나의 예 " " " " 사용하는 gulp

gulp > > build

gulp build - 빌드 폴더 - 빌드 폴더 - 빌드 폴더

gulp watch - 파일 워치를 시작합니다.

gulp dist »

이 작업은 한 줄로 수행할 수 있습니다.

cd c:\xampp\htdocs\project & gulp & gulp watch

.입니다.&.

&&명령어 1이 실패하지 않는 한 명령어1이 완료되면 명령어2가 실행됩니다.

&는 에 관계없이 실행됩니다.

Windows 10 에서는, 스크립트 러너를 사용할 수도 있습니다.

ScriptRunner.exe -appvscript demoA.cmd arg1 arg2 -appvscriptrunnerparameters -wait -timeout=30 -rollbackonerror -appvscript demoB.ps1 arg3 arg4 -appvscriptrunnerparameters -wait -timeout=30 -rollbackonerror

몇 개의 명령어를 한 줄에 걸쳐 실행할 수도 있고 서로 기다리지 않고 실행할 수도 있습니다.또, 타임 아웃과 롤백을 에러에 빠뜨릴 수도 있습니다.

행으로 .bat .하려면 . ot .cmd를 사용합니다.doskey와 키$T은 와와다다 which에 해당합니다.&: 명령줄을 한 줄에 여러 개 사용할 수 있습니다.

touch=echo off $T echo. ^> $* $T dir /B $T echo on

빈 파일이 생성됩니다.

예:

touch myfile

cmd에서는 다음과 같은 결과가 나옵니다.

여기에 이미지 설명 입력

꼭 하시는 것이 좋습니다.&연산자는 CMD 프롬프트에서 한 줄에 여러 개의 명령줄을 수행합니다.

=을 즐겨보세요)

한 줄에서 변수를 사용하거나 조작하려고 할 때 변수의 내용에 주의하십시오. 예를 들어 다음과 같은 변수입니다.

PATH=C:\Program Files (x86)\somewhere;"C:\Company\Cool Tool";%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;

만약 당신이 그것을 로 사용한다면 많은 감당할 수 없는 문제로 이어질 수 있다.%PATH%

  1. 닫는 괄호는 그룹 문을 종료합니다.
  2. %PATH%
  3. 어떤 요?%USERPROFILE%★★★★★★★★★★★★?

심플합니다.고객을 차별화하는 것만으로&& 호 signs. §:

echo "Hello World" && echo "GoodBye World".

'굿바이 월드'는 'Hello World' 다음에 나올 거예요

언급URL : https://stackoverflow.com/questions/8055371/how-do-i-run-two-commands-in-one-line-in-windows-cmd

반응형