私たちはCIツールとしてJenkinsを使用しています。現在、私はメモ帳ファイル(開発者が作成したもの)からビルド値を取得し、ビルド値をフォルダとしてネットワークドライブにコピーするバッチファイルを作成しました。条件付きサブフォルダをバッチファイルで作成するには?
バッチファイルは現在
for /f "tokens=2" %%i in ('findstr Build "C:\Program Files (x86)\Jenkins\jobs\**\build.txt"') do set Build=%%i
set Build=%Build:'=%
if not exist "\%Build%\" mkdir "%Build%\"
私の動機の下に記載されては、小数点の後に何すなわち、メモ帳の値が6.1以上6.Aであれば、ということです、それはフォルダを作成し、それを配置しません。 6サブフォルダ内にある。また、値がいっぱいの場合は、親フォルダを作成します。
ビルド番号を取得するテキストファイルは以下のとおりです。
#define MyAppVersion '4.0.0.0'
#define MyFullAppVersion '4.1.0.0'
#define BuildNumber '81'
"ビルド番号"に入力された値に基づいてフォルダを作成する必要があります。値が小数点以下の場合は、サブフォルダ内に作成する必要があります。それ以外の場合は、メインフォルダのみにする必要があります。
以下の入力の助けを借りて、これを達成するためにバッチファイルの下に作成しましたが、機能しませんでした。
for /f "tokens=2" %%i in ('findstr Build "C:\Folder Check\logs\build.txt"') do set Build=%%i
set Build=%Build:'=%
for /F "tokens=2""delims=." %%j in ('findstr Build "C:\Folder Check\logs\build.txt"') do set "sub=%%j"
if exist "\\network\%Version%\%Build%\" mkdir "\\network\%Build%\%sub%%"
if not exist "\\network\%Version%\%Build%\" mkdir "\\network\%Version%\%Build%\"
if exist "\\network\%Version%\%Build%\%sub%%j" XCOPY /y "C:\Program Files (x86)\Notepad++\readme.txt" "\\network\%Version%\%Build%\%sub%\" /E /S
if not exist "\\172.19.0.4\Departement$\Development\Development RCX\RCX_M02_CSP\INTERNAL RELEASES\CI\%Version%\%Build%\%sub%%" XCOPY /y "C:\Program Files (x86)\Notepad++\readme.txt" "\\network\%Version%\%Build%\" /E /S
ご協力いただきますようお願い申し上げます。何のために、また、私は一般的にはお勧めです引用しset
構文、見てみましょう
for /F "delims=." %%j in ("%Build%") do set "Build=%%j"
:
「メモ帳ファイル」とは何ですか?それは*テキストファイルですよね? – aschipfl
テキストファイルです。これはメモ帳ファイルに書かれています。#define MyAppVersion '4.0.0.0' #define MyFullAppVersion '4.1.0.0' #define BuildNumber '4'。 forコマンドを使うことで、私は開発者が言及した値を得ます。 – writerrajiv
質問にテキストサンプルを含めてください! – aschipfl