バッチでビルドできるのでメモ
参考リンク
横井さんのBlogを参考に、いろいろやってみた備忘録。やってることは↓このへんと同じ。
https://g-mind.blogspot.com/2019/07/ci-msbuild-with-genexus-1.html
https://g-mind.blogspot.com/2019/07/ci-msbuild-with-genexus-2.html
https://g-mind.blogspot.com/2019/07/ci-build-with-msbuild.html
https://g-mind.blogspot.com/2019/08/ci-genexus-msbuild-with-genexus-2.html
https://g-mind.blogspot.com/2019/08/ci-genexus-msbuild-with-genexus-3.html
https://g-mind.blogspot.com/2019/08/ci-genexus-msbuild-with-genexus-4.html
以下は横井さんのBlogとやってることほぼ同じなので非表示です。見たかったら見てください。
基本 – ビルドファイル
お試し用のビルドファイル作成。お試しなので名前は適当。
文字コードUTF8で。デフォルト保存したらわけわからん文字コードになってたw
<Project DefaultTargets="Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- テスト -->
<Target Name="Test1">
<Message Text="Test1"/>
</Target>
<!-- テスト -->
<Target Name="Test2">
<Message Text="Test2"/>
</Target>
</Project>
基本 – 実行
MSビルドはGeneXusのビルドとかに使ってるやつがいいと思います。
私はビルド中にタスクマネージャーに表示されたヤツを使いました。
MSBuild.exe C:\Temp\test.msbuild -t:Test2 -fileLogger
Microsoft (R) Build Engine バージョン 4.8.3752.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2020/10/06 8:37:17 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\Temp\test.msbuild" (Test2 ターゲット)。
Test2:
Test2
プロジェクト "C:\Temp\test.msbuild" (Test2 ターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:00:00.03
引数でmsbuildファイルを指定、
-t(Target)として、作成したmsbuildファイルを指定
-fileLogger はログファイルを出力する設定。
PropertyGroup – ビルドファイル
定数や引数が使用できます。
<Project DefaultTargets="Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<aaa>えー</aaa>
<bbb>びー</bbb>
</PropertyGroup>
<!-- テスト -->
<Target Name="Test1">
<Message Text="Test1:$(aaa)"/>
</Target>
<!-- テスト -->
<Target Name="Test2">
<Message Text="Test2:$(bbb)"/>
</Target>
</Project>
PropertyGroup – 実行
MSBuild.exe C:\Temp\test.msbuild -t:Test1 -fileLogger
Microsoft (R) Build Engine バージョン 4.8.3752.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2020/10/06 12:24:33 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\Temp\test.msbuild" (Test1 ターゲット)。
Test1:
Test1:えー
プロジェクト "C:\Temp\test.msbuild" (Test1 ターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:00:00.03
MSBuild.exe C:\Temp\test.msbuild -t:Test2 -fileLogger -p:bbb=oqiita
Microsoft (R) Build Engine バージョン 4.8.3752.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2020/10/06 12:26:04 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\Temp\test.msbuild" (Test2 ターゲット)。
Test2:
Test2:oqiita
プロジェクト "C:\Temp\test.msbuild" (Test2 ターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:00:00.03
コマンド実行時にパラメーターとしてbbbに「oqiita」を指定したことでファイル内で宣言してたbbbがパラメーターで上書きされました。
GeneXus ビルド – ビルドファイル
次にGeneXusのビルド用の簡単なビルドファイルを作成。
<Project DefaultTargets="Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="C:\Program Files (x86)\GeneXus\GeneXus16JP\Genexus.Tasks.targets" />
<!-- プロパティ -->
<PropertyGroup>
<KBPath>C:\Models\GX16UI10_TESTKB</KBPath>
</PropertyGroup>
<!-- テスト -->
<Target Name="Test">
<Message Text="Test1:$(KBPath)"/>
</Target>
<!-- KBを開いて、すべてビルド -->
<Target Name="OpenAndBuildAll">
<OpenKnowledgeBase Directory="$(KBPath)" />
<BuildAll />
</Target>
</Project>
GeneXus ビルド – 実行
MSBuild.exe C:\Temp\test.msbuild -t:OpenAndBuildAll -fileLogger
Microsoft (R) Build Engine バージョン 4.8.3752.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2020/10/06 8:52:10 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\Temp\test.msbuild" (OpenAndBuildAll ターゲット)。
OpenAndBuildAll:
========== ナレッジベースタスクを開く 開始 ==========
> ナレッジベースタスクを開く 成功
========== ナレッジベースタスクを開く 終了 ==========
========== すべてのタスクをビルド 開始 ==========
========== モジュール 'GeneXus' のコピー中 開始 ==========
> モジュール 'GeneXus' のコピー中 成功
========== モジュール 'GeneXus' のコピー中 終了 ==========
更新されたオブジェクトリストのビルド中
分析すべきオブジェクトがありません
リソースの生成中...
成功
========== Default (C# Web) Generation 開始 ==========
Generating to CSharpModel\web\gxcfg.js
Generating to CSharpModel\web\GXCFG.WEB
Generating to CSharpModel\web\client.exe.config
Generating to CSharpModel\web\Developermenu.bld
Generating to CSharpModel\web\genexus.programs.common.bld
Generating to CSharpModel\web\bld15.info
> Default (C# Web) Generation 成功
========== Default (C# Web) Generation 終了 ==========
静的ファイルの圧縮中...
成功
========== DeveloperMenu コンパイル 開始 ==========
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" /nologo /p:Configuration=Release /p:FrameworkPath="C:\WIN
DOWS\Microsoft.NET\Framework\v4.0.30319" /v:q /m "C:\Models\GX16UI10_TESTKB\CSharpModel\build\LastBuild.sln"
> DeveloperMenu コンパイル 成功
========== DeveloperMenu コンパイル 終了 ==========
========== Web config の更新 開始 ==========
Updating web config ...
> Web config の更新 成功
========== Web config の更新 終了 ==========
> すべてのタスクをビルド 成功
========== すべてのタスクをビルド 終了 ==========
プロジェクト "C:\Temp\test.msbuild" (OpenAndBuildAll ターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:00:19.14
GeneXusビルドで使えるタスクは以下
参考
MSBuild Taskswiki.genexus.com
KBPathはパラメーターで渡したほうがいいかもしれない。
MSBuild.exe C:\Temp\test.msbuild -t:OpenAndBuildAll -fileLogger -p:KBPath=C:\Models\GX16UI10_TESTKB
GeneXus KB作成 – ビルドファイル
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- ベースとなるターゲットファイル -->
<Import Project="C:\Program Files (x86)\GeneXus\GeneXus16JP\Genexus.Tasks.targets" />
<PropertyGroup><!-- プロパティ -->
<!-- KB作成のプロパティ -->
<KBName>GX16U10</KBName>
<KBPath>C:\Models\$(KBName)</KBPath>
<!-- KBのDBに関するプロパティ -->
<CreateDbInKbFolder>true</CreateDbInKbFolder>
<ServerInstance>PCNAME\SQLEXPRESS2016</ServerInstance>
<KBDBIntegratedSecurity>true</KBDBIntegratedSecurity>
<KBDBUserId></KBDBUserId>
<KBDBUserPassword></KBDBUserPassword>
<KBDBName>GX_KB_$(KBName)</KBDBName>
<!-- KBの言語の開発言語 -->
<Language>Japanese</Language>
<Template>CSharp.KBTemplate</Template>
<!-- KBのデータストアのプロパティ -->
<Datastore>Default</Datastore>
<DataStoreName>$(KBName)</DataStoreName>
<DataStoreServerName>(local)</DataStoreServerName>
</PropertyGroup>
<Target Name="CreateKB"><!-- KB作成 -->
<!-- エラーチェック -->
<Error Condition="'$(KBPath)'==''" Text="KBPath を指定してください" />
<!-- メッセージを表示 -->
<Message Text="KB作成。ディレクトリ=$(KBPath)" />
<!-- KB作成を開始 -->
<CreateKnowledgeBase
Directory="$(KBPath)"
Template="$(Template)"
IntegratedSecurity="$(KBDBIntegratedSecurity)"
UserId="$(KBDBUserId)"
Password="$(KBDBUserPassword)"
CreateDbInKbFolder="$(CreateDbInKbFolder)"
ServerInstance="$(ServerInstance)"
DBName="$(KBDBName)"
Language="$(Language)"/>
</Target>
<Target Name="OpenKB"><!-- KBを開く -->
<Message Text="OpenKB:$(KBPath)"/>
<OpenKnowledgeBase Directory="$(KBPath)" />
</Target>
<Target Name="SetDataStoreProperty"><!-- DB情報を設定 -->
<SetDataStoreProperty Datastore="$(Datastore)" Name="Database name" Value="$(DataStoreName)" />
<SetDataStoreProperty Datastore="$(Datastore)" Name="Server name" Value="$(DataStoreServerName)" />
</Target>
<Target Name="BuildAll"><!-- すべてビルド -->
<BuildAll />
</Target>
</Project>
GeneXus KB作成 – 実行
MSBuild.exe C:\TEMP\test.msbuild -t:CreateKB;SetDataStoreProperty;BuildAll /p:KBName=GX16U10_TESTKB_20201007
Microsoft (R) Build Engine バージョン 4.8.3752.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2020/10/07 12:44:59 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\TEMP\test2.msbuild" (CreateKB;SetDataStoreProperty;BuildAll ターゲット)。
CreateKB:
KB作成。ディレクトリ=C:\Models\GX16U10_TESTKB_20201007
========== ナレッジベースを作成 開始 ==========
'C:\Program Files (x86)\GeneXus\GeneXus16JP\Startup\Common\CommonApi.xpz' ファイルの処理中...
インポートの参照の確認中...
終了
インポートファイルのオブジェクトの読み取り中...
終了
~~~~ 省略 ~~~~
成功
> ナレッジベースを作成 成功
========== ナレッジベースを作成 終了 ==========
SetDataStoreProperty:
データストア 'Default' は次のプロパティを設定します: "Database name"="GX16U10_TESTKB_20201007"
データストア 'Default' は次のプロパティを設定します: "Server name"="(local)"
BuildAll:
========== すべてのタスクをビルド 開始 ==========
========== モジュール 'GeneXus' のコピー中 開始 ==========
> モジュール 'GeneXus' のコピー中 成功
========== モジュール 'GeneXus' のコピー中 終了 ==========
更新されたオブジェクトリストのビルド中
========== Specification 開始 ==========
Specifying RwdMasterPage ...
Specifying AppMasterPage ...
Specifying RecentLinks ...
Specifying RwdRecentLinks ...
Specifying PromptMasterPage ...
Specifying RwdPromptMasterPage ...
リソースの生成中...
成功
========== Default (C# Web) Generation 開始 ==========
> Specification 成功
========== Specification 終了 ==========
Copying standard files from C:\Program Files (x86)\GeneXus\GeneXus16JP to CSharpModel\web...
Generating to CSharpModel\web\recentlinks.cs
Generating to CSharpModel\web\recentlinks.js
Generating to CSharpModel\web\rwdmasterpage.cs
Generating to CSharpModel\web\rwdmasterpage.js
Generating to CSharpModel\web\rwdrecentlinks.cs
Generating to CSharpModel\web\rwdrecentlinks.js
Generating to CSharpModel\web\promptmasterpage.cs
Generating to CSharpModel\web\promptmasterpage.js
Generating to CSharpModel\web\rwdpromptmasterpage.cs
Generating to CSharpModel\web\rwdpromptmasterpage.js
Generating to CSharpModel\web\GxWebStd.cs
Generating to CSharpModel\web\GxModelInfoProvider.cs
Generating to CSharpModel\web\GxObjectCollection.cs
Generating to CSharpModel\web\gxcfg.js
Generating to CSharpModel\web\GXCFG.WEB
Generating to CSharpModel\web\client.exe.config
Generating to CSharpModel\web\Developermenu.bld
Generating to CSharpModel\web\genexus.programs.common.bld
Generating to CSharpModel\web\bld15.info
Generating to CSharpModel\web\DeveloperMenu.xml
Generating to CSharpModel\web\GxFullTextSearchReindexer.cs
Generating to CSharpModel\web\SoapParm.cs
> Default (C# Web) Generation 成功
========== Default (C# Web) Generation 終了 ==========
静的ファイルの圧縮中...
成功
========== SDT の生成 開始 ==========
CSharpModel\web\type_SdtLinkList_LinkItem.cs に生成中
> SDT の生成 成功
========== SDT の生成 終了 ==========
Read in 607 resources from 'C:\Models\GX16U10_TESTKB_20201007\CSharpModel\web\messages.jap.txt'
Writing resource file... Done.
GeneXus.Programs.Common.cs is unavailable
========== DeveloperMenu コンパイル 開始 ==========
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" /nologo /p:Configuration=Release /p:FrameworkPath="C:\WIN
DOWS\Microsoft.NET\Framework\v4.0.30319" /v:q /m "C:\Models\GX16U10_TESTKB_20201007\CSharpModel\build\LastBuild.sln"
> DeveloperMenu コンパイル 成功
========== DeveloperMenu コンパイル 終了 ==========
========== Web config の更新 開始 ==========
Virtual directory created.
Updating web config ...
> Web config の更新 成功
========== Web config の更新 終了 ==========
> すべてのタスクをビルド 成功
========== すべてのタスクをビルド 終了 ==========
プロジェクト "C:\TEMP\test2.msbuild" (CreateKB;SetDataStoreProperty;BuildAll ターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:01:03.91
GeneXus XPZインポート – ビルドファイル
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- ベースとなるターゲットファイル -->
<Import Project="C:\Program Files (x86)\GeneXus\GeneXus16JP\Genexus.Tasks.targets" />
<PropertyGroup><!-- プロパティ -->
<!-- KB作成のプロパティ -->
<KBName>GX16U10</KBName>
<KBPath>C:\Models\$(KBName)</KBPath>
<!-- KBのDBに関するプロパティ -->
<CreateDbInKbFolder>true</CreateDbInKbFolder>
<ServerInstance>PCNAME\SQLEXPRESS2016</ServerInstance>
<KBDBIntegratedSecurity>true</KBDBIntegratedSecurity>
<KBDBUserId></KBDBUserId>
<KBDBUserPassword></KBDBUserPassword>
<KBDBName>GX_KB_$(KBName)</KBDBName>
<!-- KBの言語の開発言語 -->
<Language>Japanese</Language>
<Template>CSharp.KBTemplate</Template>
<!-- KBのデータストアのプロパティ -->
<Datastore>Default</Datastore>
<DataStoreName>$(KBName)</DataStoreName>
<DataStoreServerName>(local)</DataStoreServerName>
<!-- インポートのプロパティ -->
<ImportFileName>C:\TEMP\test.xpz</ImportFileName>
<AutomaticBackup>true</AutomaticBackup>
<ImportType>AllObjects</ImportType>
<LanguageTranslations>Update</LanguageTranslations>
</PropertyGroup>
<Target Name="CreateKB"><!-- KB作成 -->
<!-- エラーチェック -->
<Error Condition="'$(KBPath)'==''" Text="KBPath を指定してください" />
<!-- メッセージを表示 -->
<Message Text="KB作成。ディレクトリ=$(KBPath)" />
<!-- KB作成を開始 -->
<CreateKnowledgeBase
Directory="$(KBPath)"
Template="$(Template)"
IntegratedSecurity="$(KBDBIntegratedSecurity)"
UserId="$(KBDBUserId)"
Password="$(KBDBUserPassword)"
CreateDbInKbFolder="$(CreateDbInKbFolder)"
ServerInstance="$(ServerInstance)"
DBName="$(KBDBName)"
Language="$(Language)"/>
</Target>
<Target Name="OpenKB"><!-- KBを開く -->
<Message Text="OpenKB:$(KBPath)"/>
<OpenKnowledgeBase Directory="$(KBPath)" />
</Target>
<Target Name="SetDataStoreProperty"><!-- DB情報を設定 -->
<SetDataStoreProperty Datastore="$(Datastore)" Name="Database name" Value="$(DataStoreName)" />
<SetDataStoreProperty Datastore="$(Datastore)" Name="Server name" Value="$(DataStoreServerName)" />
</Target>
<Target Name="BuildAll"><!-- すべてビルド -->
<BuildAll />
</Target>
<Target Name="Import"><!-- インポート -->
<Message Text="インポート=$(ImportFileName)"/>
<Import
File="$(ImportFileName)"
AutomaticBackup="$(AutomaticBackup)"
ImportType="$(ImportType)"
LanguageTranslations="$(LanguageTranslations)" />
</Target>
</Project>
GeneXus XPZインポート – 実行
MSBuild.exe C:\TEMP\test.msbuild -t:CreateKB;SetDataStoreProperty;Import;BuildAll /p:KBName=GX16U10_TESTKB_20201007_2
Microsoft (R) Build Engine バージョン 4.8.3752.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2020/10/07 15:34:55 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\TEMP\test2.msbuild" (CreateKB;SetDataStoreProperty;Import;BuildAll ターゲット)。
CreateKB:
KB作成。ディレクトリ=C:\Models\GX16U10_TESTKB_20201007_2
========== ナレッジベースを作成 開始 ==========
'C:\Program Files (x86)\GeneXus\GeneXus16JP\Startup\Common\CommonApi.xpz' ファイルの処理中...
インポートの参照の確認中...
終了
インポートファイルのオブジェクトの読み取り中...
終了
~~~~ 省略 ~~~~
Web Panel 'RwdRecentLinks'のインポート中...
成功
> ナレッジベースを作成 成功
========== ナレッジベースを作成 終了 ==========
SetDataStoreProperty:
データストア 'Default' は次のプロパティを設定します: "Database name"="GX16U10_TESTKB_20201007_2"
データストア 'Default' は次のプロパティを設定します: "Server name"="(local)"
Import:
インポート=C:\TEMP\test.xpz
========== タスクをインポート 開始 ==========
'C:\TEMP\test.xpz' ファイルの処理中...
インポートの参照の確認中...
終了
インポートファイルのオブジェクトの読み取り中...
終了
バックアップの作成中...
Web Panel 'WebPanel1'のインポート中...
成功
> タスクをインポート 成功
========== タスクをインポート 終了 ==========
BuildAll:
========== すべてのタスクをビルド 開始 ==========
========== モジュール 'GeneXus' のコピー中 開始 ==========
> モジュール 'GeneXus' のコピー中 成功
========== モジュール 'GeneXus' のコピー中 終了 ==========
更新されたオブジェクトリストのビルド中
========== Specification 開始 ==========
Specifying WebPanel1 ...
Specifying RecentLinks ...
Specifying PromptMasterPage ...
Specifying RwdPromptMasterPage ...
Specifying AppMasterPage ...
Specifying RwdRecentLinks ...
Specifying RwdMasterPage ...
リソースの生成中...
成功
========== Default (C# Web) Generation 開始 ==========
> Specification 成功
========== Specification 終了 ==========
Copying standard files from C:\Program Files (x86)\GeneXus\GeneXus16JP to CSharpModel\web...
Generating to CSharpModel\web\promptmasterpage.cs
Generating to CSharpModel\web\promptmasterpage.js
Generating to CSharpModel\web\appmasterpage.cs
Generating to CSharpModel\web\appmasterpage.js
Generating to CSharpModel\web\rwdpromptmasterpage.cs
Generating to CSharpModel\web\rwdpromptmasterpage.js
Generating to CSharpModel\web\recentlinks.cs
Generating to CSharpModel\web\recentlinks.js
Generating to CSharpModel\web\rwdmasterpage.cs
Generating to CSharpModel\web\rwdmasterpage.js
Generating to CSharpModel\web\rwdrecentlinks.cs
Generating to CSharpModel\web\rwdrecentlinks.js
Generating to CSharpModel\web\GxWebStd.cs
Generating to CSharpModel\web\GxModelInfoProvider.cs
Generating to CSharpModel\web\GxObjectCollection.cs
Generating to CSharpModel\web\gxcfg.js
Generating to CSharpModel\web\GXCFG.WEB
Generating to CSharpModel\web\client.exe.config
Generating to CSharpModel\web\Developermenu.bld
Generating to CSharpModel\web\genexus.programs.common.bld
Generating to CSharpModel\web\bld15.info
Generating to CSharpModel\web\DeveloperMenu.xml
Generating to CSharpModel\web\GxFullTextSearchReindexer.cs
Generating to CSharpModel\web\SoapParm.cs
> Default (C# Web) Generation 成功
========== Default (C# Web) Generation 終了 ==========
静的ファイルの圧縮中...
成功
========== SDT の生成 開始 ==========
CSharpModel\web\type_SdtLinkList_LinkItem.cs に生成中
> SDT の生成 成功
========== SDT の生成 終了 ==========
Read in 607 resources from 'C:\Models\GX16U10_TESTKB_20201007_2\CSharpModel\web\messages.jap.txt'
Writing resource file... Done.
GeneXus.Programs.Common.cs is unavailable
========== DeveloperMenu コンパイル 開始 ==========
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" /nologo /p:Configuration=Release /p:FrameworkPath="C:\WIN
DOWS\Microsoft.NET\Framework\v4.0.30319" /v:q /m "C:\Models\GX16U10_TESTKB_20201007_2\CSharpModel\build\LastBuild.sl
n"
> DeveloperMenu コンパイル 成功
========== DeveloperMenu コンパイル 終了 ==========
========== Web config の更新 開始 ==========
Virtual directory created.
Updating web config ...
> Web config の更新 成功
========== Web config の更新 終了 ==========
> すべてのタスクをビルド 成功
========== すべてのタスクをビルド 終了 ==========
プロジェクト "C:\TEMP\test2.msbuild" (CreateKB;SetDataStoreProperty;Import;BuildAll ターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:00:57.96
バッチファイル
で、まったく同じだと怒られるから作ったビルドファイルをバッチで呼び出す用に作成。
@echo off
REM # MSビルドの場所を設定
SET EXE_PATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
REM # 作成したビルドファイルを設定
SET MSBUILD_PATH=C:\Temp\test.msbuild
REM # 実行したいターゲットを指定
SET TARGET=OpenAndBuildAll
REM # プロパティを指定
SET PROPERTY=KBName=GX16U10_TESTKB_20201007_4
REM # ビルドを実行
%EXE_PATH% %MSBUILD_PATH% /t:%TARGET% /p:%PROPERTY%
REM 返却値判定
IF %ERRORLEVEL%==1 (
echo 異常終了 %ERRORLEVEL%
REM pause
EXIT /b 1
)
REM 場所移動
cd /d %~dp0
echo 正常終了 %ERRORLEVEL%
REM pause
EXIT /b 0
まとめ
自分の環境用に1個あると便利だと思います。
以上です。
スポンサー広告