2014-06-19 3 views
2

배치 파일에 포함 된 스크립트에 bamboo 전역 변수를 설정하려고합니다. 여기배치 파일에 Bamboo 변수 설정

@echo off 
echo Initial Date: %bamboo_releaseDate% 

for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
    set dow=%%i 
    set month=%%j 
    set day=%%k 
    set year=%%l 
) 
set mydate=%month%_%day%_%year% 
echo %mydate% 

set bamboo_releaseDate = %mydate% 
echo Set up date: %bamboo_releaseDate% 

그리고 내 출력됩니다 : 당신이 볼 수 있듯이

Initial Date: 140617 
06_19_2014 
Set up date: 140617 

, 변수 %의 bamboo_releaseDate %의 전혀 변경하지 않은 여기 배치 파일입니다. 가능하다면 어떻게 할 수 있습니까?

내 목표는 야간 빌드가 포함 된 폴더의 이름 지정 (Bamboo에서 제공하는 'Artifact download'표준 사용)에서이 변수를 사용하는 것입니다.

도움 주셔서 감사합니다. Christophe

업데이트 : 배치 문제가 해결되었지만 스크립트 후에 업데이트 된 값을 사용할 수 없습니다. 어떤 생각을하는 방법?

답변

2
set bamboo_releaseDate = %mydate% 
        ^^ 

공백은 변수 이름과 값에 포함됩니다. 따라서 값을 기존 변수가 아닌 새로운 변수 (이름에 공백이없는 변수)에 할당합니다. 이 공백은 변수의 이름이나 그 값에 있지없고, 인용 변수 내용에는이 추가적으로 결말 공간이없는 보장, 이제

set "bamboo_releaseDate=%mydate%" 

로 교체하십시오.

+0

감사합니다! 그러나 유감스럽게도 변수는 스크립트 후에 변경되지 않습니다. 그걸 어떻게하는 지 아는가? – Christophe

+0

스크립트 작업은 자체 쉘에서 실행되므로이 ​​방법을 사용할 수 없습니다. Inject Variable Plugin 또는 다른 파일 기반 지속성 메커니즘을 사용합니까? – JeeBee

+0

@JeeBee, 미안 해요, 뭔가 abouth 배치 파일을 알고 있지만 대나무에 대해 아무것도 몰라, 나는 질문 의이 부분에 대답 할 수 없습니다. –

0

날짜 분석에 문제가 있다고 생각합니다.

for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
ECHO i=%%i 
... 
) 

당신은 무엇을 어떻게해야합니까 : 당신의 루프, %% 전을 인쇄하려고에

?

배치 파일의 % DATE % 작업은 현재 시스템/사용자 설정에 따라 달라집니다.