2016-11-17 11 views
0

ファイルを特定の場所にコピーしたい場合、Jenkinsユーザーは環境変数として保存されるテキストフィールドに「プロジェクト名」を入力するように求められ、バッチファイルは最初の単語この環境変数のうち、ディレクトリパスに入力するもの環境変数の最初の単語のみを使用します。バッチ/ cmd

今プロジェクト名は、このようなものになります。私はちょうど「Proj_1は」フォルダへのアクセス(それになりたいと

C:\Testfolder\%Project_Name%\Sub\ 

..:もちろん

Proj_1 Something Somethingelse 

、これは動作しませんが既に存在します):

C:\Testfolder\Proj_1\Sub 
Not: C:\Testfolder\Proj_1 Something Somethingelse\Sub\ 

これを行う方法はありますか?どんな助けもありがとうございます。

ありがとう、ジョーダン。

+3

。最初の6文字を取得するだけで変数を置換します。 '%Project_Name:〜0,6%'。または、プロジェクトの後にスペースがある場合は、スペースの前に変数の一部を取得するためにFOR/Fコマンドを使用します。 'FOR/F' tokens = 1 delims = "%% G IN("%Project_Name% " )set "var = %% G" ' – Squashman

+0

これは答えになるはずです@Squashman – Dvir669

+0

@Squashman答えフィールドを使用してください... –

答えて

1

これは、@ Squashmansがコメントで2番目の解決策を示していることを示しています。

Microsoft Windows [Version 10.0.14393] 
(c) 2016 Microsoft Corporation. All rights reserved. 

C:\Users\SBeeson>set "Project_Name=Test Folder Test" 

C:\Users\SBeeson>echo %Project_Name% 
Test Folder Test 

C:\Users\SBeeson>FOR /F "tokens=1 delims= " %G IN ("%Project_Name%") do set "folder=%G" 

C:\Users\SBeeson>echo %folder% 
Test 

唯一の違いは、それが直接コマンド環境でテストされることに%Gに単一%あります。彼が言ったように、あなたはバットファイルのために%%Gが必要になります。

だから、あなたのソリューションです:あなたは2つのオプションがあり

FOR /F "tokens=1 delims= " %%G IN ("%Project_Name%") do set "New_Folder=%%G" 
関連する問題