我們使用Jenkins作爲我們的CI工具。目前,我已經寫了一個批處理文件,該文件從記事本文件(由開發人員編寫)獲取構建值,然後將其複製到具有構建值的網絡驅動器作爲文件夾。如何通過批處理文件創建有條件的子文件夾?
的批處理文件下面提到
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'
我需要根據在「Build Number」中輸入的值創建文件夾。如果值是十進制的,它應該在子文件夾內創建,否則應該只有一個主文件夾。
在下面的輸入幫助下,我創建了下面的批處理文件來實現這一點,但它沒有奏效。
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
任何幫助將不勝感激。
這是什麼是一個「記事本文件」?這是一個*文本文件*,對嗎? – aschipfl
這是一個文本文件。這是寫在記事本文件中,#define MyAppVersion'4.0.0.0' #define MyFullAppVersion'4.1.0.0' #define BuildNumber'4'。通過使用for命令,我得到了開發人員提到的值。 – writerrajiv
請在您的問題中包含文本示例! – aschipfl