배치 파일에서 두 가지 작업을 수행하고 싶습니다. 먼저 C #의 작은 응용 프로그램을 사용하여 파일을 만들고이 응용 프로그램은 파일 생성이 성공적으로 완료되면 일부 값을 반환합니다. 그런 다음 작업의 출력을 기반으로 로보 카피 작업을 수행하고 싶습니다. 첫 번째 작업의 출력을 유지하고 나중에 두 번째 작업을 수행하기 위해 사용하는 데 도움이 필요합니다.
xyz.exe
if outputofxyz=="OK" Robocopy "\\Directory1" "Directory2"
xyz.exe의 출력을 일부 변수에 저장할 수 있는지 알고 싶습니다. 또는 아래 구문을 사용해야합니다.
if xyz.exe=="OK" Robocopy "\\Directory1" "Directory2"
좋아, 당신이 할 수있는 최선의 방법 Console.WriteLine();
은 작업이 성공했는지 여부를 알리기 위해 사용한 값을 반환하는 대신 프로그램을 수정하는 것입니다 .
// Do work
if (completed)
Console.WriteLine("OK");
else
Console.WriteLine("Fail");
// Note don't output anything else to the Console.
// Rest Of code
Program.exe > Out.txt
set /p out=<Out.txt
del Out.txt
if "%out%" EQU "OK" (
Robocopy "\\Directory1" "Directory2"
) Else (
Echo Task not Complete.
)
Exit
그것은 당신이 원하는 것을 수행해야하지만 콘솔에 다른 것을 출력하는 것을 제한합니다. 물론 이렇게해야한다면 파일의 마지막 줄로 데이터를 출력하고 for /f
. 마지막으로 환경 변수를 사용할 수 errorlevel
있지만 수정을위한 코드임을 보여 주어야합니다.
모나.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다