別のバッチからバッチ ファイルを作成したいと思います。では、元のバット内で実行せずに、新しいバット内にコードを記述するにはどうすればよいでしょうか? これまでの私のコードは次のとおりです。
SET var1=%~dp0
SET var2
for %%a in ("%cd%") do set var2=%%~na
echo bla %var1% bla >> build%var2%.bat
「bla」の代わりに、複数行のコードが必要です。これをアーカイブするにはどうすればよいですか?
編集:
今私のコードは次のようになります:
SET var1=%~dp0
SET var2
for %%a in ("%cd%") do set var2=%%~na
SET string = (
echo SET mdbname=%var2%
echo SET OfficeDIR=%%ProgramFiles(x86)%%\Microsoft Office\Office14
echo SET WorkDIR=%var1%
echo md build
echo copy %%mdbname%%.mdb build\%%mdbname%%.mda /Y
echo "%%officedir%%\msaccess.exe" /compact "%%WorkDir%%\build\%%mdbname%%.mda"
echo "D:****.exe" "%%WorkDir%%\build\%%mdbname%%.mda" "D:\****** Key - Nicht weitergeben" "%%officedir%%"
echo copy "%%WorkDir%%\build\%%mdbname%%.mda" "%%ProgramFiles(x86)%%\*******" /Y
)
echo %string% >> built%var2%.bat
しかし、新しく作成されたバッチ内には、「ECHO ist eingeschaltet (ON)」としか書かれていません。/「ECHOがアクティブ(ON)です。」
編集2:
今はこのように見えますが、何も起こらず、ファイルも作成されません
SET var1=%~dp0
SET var2
for %%a in ("%cd%") do set var2=%%~na
(echo SET mdbname=%var2%
echo SET OfficeDIR=%%ProgramFiles(x86)%%\Microsoft Office\Office14
echo SET WorkDIR=%var1%
echo md build
echo copy %%mdbname%%.mdb build\%%mdbname%%.mda /Y
echo "%%officedir%%\msaccess.exe" /compact "%%WorkDir%%\build\%%mdbname%%.mda"
echo "D:\TFS\RepV\RepV 6.1\ITPBuildTool61.exe" "%%WorkDir%%\build\%%mdbname%%.mda" "D:\TFS\RepV\RepV 6.1\ITPEAK.OLKey Private Key - Nicht weitergeben" "%%officedir%%"
echo copy "%%WorkDir%%\build\%%mdbname%%.mda" "%%ProgramFiles(x86)%%\Sage\Office Line\6.1\Addin\Work" /Y) > built%var2%.bat