zipファイルを抽出するために、以下のbatファイルを作成しました。しかし、これはJenkinsから実行すると機能しません。私はこれが原因と思われるのは、コピーUIとサービスを起動しようとしているが、WindowsサービスがUIを扱うことを許可していないため、サービスがそれを行うことを妨げているからです。サイレントに解凍を行うために以下のスクリプトを編集する方法はありますか?他のツールがあれば、いくつか例を挙げてください。バッチファイルを使用してzipファイルをサイレントに抽出
@echo off
FOR /D %%p IN ("%CD%\Setups\*.*") DO rmdir "%%p" /s /q
call mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DrepoUrl=http://10.101.15.190:8081/nexus/content/repositories/releases/ -Dartifact=k:update-service:1.0.3 -Ddest=Setups/Services/update-service.jar
call mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DrepoUrl=http://10.101.15.190:8081/nexus/content/repositories/releases/ -Dartifact=k:installer-prerequisites:1.0.0 -Ddest=Setups/PreRequisites/installer-prerequisites.zip -Dpackaging=zip
call mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DrepoUrl=http://10.101.15.190:8081/nexus/content/repositories/releases/ -Dartifact=k:-apps:1.0.0 -Ddest=Setups/Apps/-apps.zip -Dpackaging=zip
call mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DrepoUrl=http://10.101.15.190:8081/nexus/content/repositories/releases/ -Dartifact=k:mosquitto:1.0.0 -Ddest=Setups/mosquitto/mosquitto.zip -Dpackaging=zip
call mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DrepoUrl=http://10.101.15.190:8081/nexus/content/repositories/releases/ -Dartifact=k:ble-service:1.0 -Ddest=Setups/Services/ble-service.jar
for /r %%i in ("*.zip") do (
Call :UnZipFile "%%~dpi" "%%~fi"
del /S /Q "%%~fi"
)
exit \b
:UnZipFile <ExtractTo> <newzipfile>
setlocal
set vbs="%temp%\_.vbs"
if exist "%vbs%" del /f /q "%vbs%"
>"%vbs%" echo Set fso = CreateObject("Scripting.FileSystemObject")
>>"%vbs%" echo If NOT fso.FolderExists("%~1") Then
>>"%vbs%" echo fso.CreateFolder("%~1")
>>"%vbs%" echo End If
>>"%vbs%" echo set objShell = CreateObject("Shell.Application")
>>"%vbs%" echo set FilesInZip=objShell.NameSpace("%~2").items
>>"%vbs%" echo objShell.NameSpace("%~1").CopyHere(FilesInZip)
>>"%vbs%" echo Set fso = Nothing
>>"%vbs%" echo Set objShell = Nothing
cscript //nologo "%vbs%"
if exist "%vbs%" del /f /q "%vbs%"
endlocal
コマンドラインの「unzip」ツールを使用してください。多くのものがあります。 – Jayan
@Jayan使用可能な解凍ツールがたくさんありますが、それらは常に使用される可能性があるわけではありません。バッチが使用される理由の大部分は、多くの異なるWindowsコンピュータと互換性がなければならないことを意味します。すべてのコンピュータに「解凍ツール」がない場合もあります。 –