명령 실행의 출력 리디렉션을 위한 명령(일부 인수가 포함된 파일 이름)과 파일 경로라는 두 가지 매개 변수를 받는 배치 파일이 필요합니다. 나는 'q.cmd' 파일에서 as 및 또는 with를 호출 하여 몇 가지 변형 call %1 > %2
을 시도했지만 아무것도 작동하지 않습니다. 나는 또한 before 으로 시도했습니다 . 대부분의 경우 "'echo는 내부 또는 외부 명령으로 인식되지 않습니다..." 또는 이와 유사한 내용을 인쇄하고 때로는 빈 123.txt를 생성하거나 일부 서비스 라인을 사용하지만 필요에 따라 "test"를 사용하지 않습니다. 문제를 어떻게 해결할 수 있나요?start %1 > %2
q "echo test" "log.txt"
q 'echo test' 'log.txt'
%1
call %1
q "echo test > log.txt"
^
>
답변1
q "echo test" "log.txt"
두 개의 매개변수를 공급할 것입니다.
"echo test"는 그 자체로 더 이상 Echo에 대한 인수로 "Echo" 다음에 "test"가 오는 것이 아니라 "echo test"라는 단일 명령으로 유효하지 않습니다.
명령에서 인수를 분리해야 하며 실제로 배치 스크립팅은 이를 수행하는 최선의 방법이 아닙니다. 특히 동적 양의 인수를 원하는 경우에는 더욱 그렇습니다. 대신 PowerShell을 사용해 보세요.
하지만 간단하고 유연하지 않고 여전히 배치 파일인 경우 배치 파일에서 다음을 시도해 보십시오
%2 %3 > %1
.
그런 다음 먼저 출력 파일을 지정하고 그 뒤에 명령을 지정한 다음 해당 명령에 사용하려는 인수를 지정하면 됩니다.
IE: q log.txt echo Test
, 또는 q log.txt echo "string with spaces to echo"
.
이것들은 나에게 효과적입니다. :)