Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual Studio - Build Events에 robocopy를 사용할때 "Invalid Parameter #1" 오류가 발행하는 경우

이상하군요, 단순하게 다음과 같이 빌드 이벤트를 만들었는데,

$(ProjectDir)postBuildScript.bat "$(TargetDir)" $(TargetName)

REM postBuildScript.bat
robocopy %1 d:\temp %2.*

exit 0

빌드 시 오류가 발생합니다.

Error Invalid Parameter #1 : "E:\ConsoleApp1\bin\Debug" d:\temp ConsoleApp1.*"

원인은 지난 글에 쓴 것과 같은 이유인데,

robocopy - ERROR : No Destination Directory Specified.
; https://www.sysnet.pe.kr/2/0/12441

TargetDir이 넘겨주는 값이 "E:\ConsoleApp1\bin\Debug\"와 같이 마지막에 '\' 글자를 포함하고 있기 때문입니다. 하지만 오류 메시지의 출력 결과가 이번에는 다릅니다.

Rebuild started...
1>------ Rebuild All started: Project: ConsoleApp1, Configuration: Debug Any CPU ------
1>  ConsoleApp1 -> E:\ConsoleApp1\bin\Debug\ConsoleApp1.dll
1>  AnyCPU "E:\ConsoleApp1\bin\Debug\" ConsoleApp1
1>  
1>  -------------------------------------------------------------------------------
1>     ROBOCOPY     ::     Robust File Copy for Windows                              
1>  -------------------------------------------------------------------------------
1>  
1>    Started : 03 12월 2020 오전 10:24:53
1>     Source - 
1>       Dest - 
1>  
1>      Files : 
1>    Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30 
1>  
1>  ------------------------------------------------------------------------------
1>  
1>EXEC : error : Invalid Parameter #1 : "E:\ConsoleApp1\bin\Debug" d:\temp ConsoleApp1.*""
1>  
1>         Simple Usage :: ROBOCOPY source destination /MIR
1>  
1>               source :: Source Directory (drive:\path or \\server\share\path).
1>          destination :: Destination Dir  (drive:\path or \\server\share\path).
1>                 /MIR :: Mirror a complete directory tree.
1>  
1>      For more usage information run ROBOCOPY /?
1>  
1>                                                            
1>  ****  /MIR can DELETE files as well as copy them !
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(5461,5): error MSB3073: The command "E:\ConsoleApp1\postBuildScript.bat  AnyCPU "E:\ConsoleApp1\bin\Debug\" ConsoleApp1
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(5461,5): error MSB3073: " exited with code -1.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

어쨌든, 이 원인을 고치려면 지난 글에 소개한 3가지 방법 중 하나를 써야 하는데,

$(ProjectDir)postBuildScript.bat "$(TargetDir)" $(TargetName)

TargetDir 경로에 공백이 포함되어 있다면 다음과 같이 마지막에 '\' 문자를 하나 더 추가한 후 겹따옴표로 감쌀 수 있습니다.

$(ProjectDir)postBuildScript.bat $(PlatformName) "$(TargetDir)\" $(TargetName)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]



donaricano-btn



[최초 등록일: ]
[최종 수정일: 12/4/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 쓴 사람
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
12849정성태10/17/2021218스크립트: 33. JavaScript와 C#의 시간 변환
12848정성태10/17/2021158스크립트: 32. 파이썬 - sqlite3 기본 예제 코드
12847정성태10/14/2021133스크립트: 31. 파이썬 gunicorn - WORKER TIMEOUT 오류 발생
12846정성태10/7/2021282스크립트: 30. 파이썬 __debug__ 플래그 변수에 따른 코드 실행 제어
12845정성태10/6/2021467.NET Framework: 1120. C# - BufferBlock<T> 사용 예제 [4]파일 다운로드1
12844정성태10/3/2021219오류 유형: 764. MSI 설치 시 "... is accessible and not read-only." 오류 메시지
12843정성태10/3/2021234스크립트: 29. 파이썬 - fork 시 기존 클라이언트 소켓 및 스레드의 동작파일 다운로드1
12842정성태10/1/2021228오류 유형: 763. 파이썬 오류 - AttributeError: type object '...' has no attribute '...'
12841정성태10/1/2021304스크립트: 28. 모든 파이썬 프로세스에 올라오는 특별한 파일 - sitecustomize.py
12840정성태9/30/2021326.NET Framework: 1119. Entity Framework의 Join 사용 시 다중 칼럼에 대한 OR 조건 쿼리파일 다운로드1
12839정성태9/15/2021554.NET Framework: 1118. C# 10 - (17) 제네릭 타입의 특성 적용파일 다운로드1
12838정성태9/13/2021520.NET Framework: 1117. C# - Task에 전달한 Action, Func 유형에 따라 달라지는 async/await 비동기 처리 [2]파일 다운로드1
12837정성태9/11/2021309VC++: 151. Golang - fmt.Errorf, errors.Is, errors.As 설명
12836정성태9/10/2021303Linux: 45. 리눅스 - 실행 중인 다른 프로그램의 출력을 확인하는 방법
12835정성태9/7/2021313.NET Framework: 1116. C# 10 - (16) CallerArgumentExpression 특성 추가파일 다운로드1
12834정성태9/7/2021266오류 유형: 762. Visual Studio 2019 Build Tools - 'C:\Program' is not recognized as an internal or external command, operable program or batch file.
12833정성태9/6/2021387VC++: 150. Golang - TCP client/server echo 예제 코드파일 다운로드1
12832정성태9/6/2021273VC++: 149. Golang - 인터페이스 포인터가 의미 있을까요?
12831정성태9/6/2021261VC++: 148. Golang - 채널에 따른 다중 작업 처리파일 다운로드1
12830정성태9/6/2021264오류 유형: 761. Internet Explorer에서 파일 다운로드 시 "Your current security settings do not allow this file to be downloaded." 오류
12829정성태9/5/2021357.NET Framework: 1115. C# 10 - (15) 구조체 타입에 기본 생성자 정의 가능파일 다운로드1
12828정성태9/4/2021316.NET Framework: 1114. C# 10 - (14) 단일 파일 내에 적용되는 namespace 선언파일 다운로드1
12827정성태9/4/2021258스크립트: 27. 파이썬 - 웹 페이지 데이터 수집을 위한 scrapy Crawler 사용법 요약
12826정성태9/3/2021359.NET Framework: 1113. C# 10 - (13) 문자열 보간 성능 개선파일 다운로드1
12825정성태9/3/2021287개발 환경 구성: 603. GoLand - WSL 환경과 연동
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...