문제

Perforce 클라이언트에서 몇 가지 파일을 확인했습니다. 'P4 Opened'명령으로 해당 파일 목록을 얻을 수 있습니다. 하루 종일 직전에 백업 할 배치 파일을 만들 수 있도록 미리 감사합니다.

도움이 되었습니까?

해결책

당신이 사용할 수있는 p4 where 저장소 파일 스펙을 로컬 파일 로스로 변환합니다.

출력을 구문 분석합니다 p4 where Windows 배치 파일에서 다음과 같은 것이 도움이 될 수 있습니다.

for /f "tokens=3" %%i in ('p4 where %my_depot_filespec%') do echo %%i

for-loop의 본문은 p4 where 선적 서류 비치. 그것들을 처리 해야하는 경우 더 복잡한 구문 분석을해야 할 수도 있습니다.

다른 팁

당신은 또한 고려하고 싶을 수도 있습니다 Perforce 자체를 사용하는 데 매일 파일을 백업 할 필요가 있다고 생각합니다.

개발 지점을 사용하여 매일 말에 변경 사항을 제출하는 ( "편집을위한 다시 열기"플래그를 포함하여) 실제로 더 쉽고 더 나을 수 있습니다. 처음에는 Perforce를 사용하여 자신의 수동 시스템이 아닌 변경 사항을 추적합니다.

개발 지점을 사용한다는 것은 근로자를 엉망으로 만들지 않고 이러한 체커를 할 수 있음을 의미합니다.

고려할 가치가있는 제안입니다. 그게 전부입니다.

이 배치 스크립트는 파일을 개별 변경 목록으로 지정할 수 있습니다.

for /F "tokens=1,5,6 delims=# " %%a IN ('p4 opened') do for /F "tokens=3" %%j IN ('p4 where %%a') do zip %%b%%c %%j

다음과 같은 파일을 만듭니다.

change571620.zip
change673450.zip
change723098.zip
defaultchange.zip
p4 where filename

이것이 당신이 찾고있는 명령입니다.

로컬 파일 시스템에 파일의 창고 경로, 클라이언트 경로 및 절대 경로가 나열됩니다. 출력 만 파이프하십시오 cut 절대 경로를 골라서 복사하십시오.

파일 시스템 경로에 대한 // 디포의 매핑을 정의한 경우 P4 클라이언트를 확인하십시오. 백업 할 수 있도록 파일의 로컬 경로를 얻으려면 // 저장소를 이로 바꾸십시오.

배치 파일로 프로그램을 어떻게 얻을 수 있는지 모르겠습니다.

BAT 스크립트 다음에 보류중인 Changelist의 Perforce Open 파일을 복사합니다.
(%1 명령 줄 인수)

P4 Open -C %1> Open- %1.txt
for /f "tokens = 1 delims =#"%% I in (open-%1.txt) do call : add-to-zip %% I

: add-to-zip
for /f "tokens = 3"%% j in ( 'p4 where %1') zip [zip-file-name] %% j

이 배치 스크립트는 파일을 개별 변경 목록으로 지정할 수 있습니다.

for /f "토큰 = 1,5,6 delims =#"%% a in ( 'p4 opened') do /f "tokens = 3"%% j in ( 'p4 where %% a') do zip % %B %% C %% j

다음과 같은 파일을 만듭니다.
Change571620.zip
Change673450.zip
Change723098.zip
defaultchange.zip

감사합니다 :-) 파일을 백업하는 것과 같은 이유로 열린 파일의 클라이언트 경로를 나에게 제공 할 수있는 명령을 검색하는 것입니다. 나는 명령을 받았을뿐만 아니라 대본도 얻었다 :-)

참고로, V2012/2013 기준 FYI는 매일 백업 작업을 위해 Perforce의 선반 기능을 사용하는 것이 좋습니다. 그런 다음 팀의 다른 사용자도 이러한 선반에도 액세스 할 수 있습니다. 이 방법으로 백업에 사용하면 실제로 신경 쓰지 않는 중간 파일 변형 (또는 체크인에 적합하지 않은 부분)에 의해 역사가 오염되는 것을 방지합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top