popd がスクリプト内で Excel を開かせません

popd がスクリプト内で Excel を開かせません
@echo off

set data_sheet="\\EXAMPLE\module1\Automation\Datasheets\ZXC"
set csv_name=%3

pushd "%data_sheet%\%1\%2"
start excel "%cd%\%csv_name%"

REM need to put condition, until excel is open, dont popd
popd

リモート パスから Excel を開くために上記のスクリプトを作成しました。このスクリプトを実行しても Excel は開きません

$ data folder subfolder test.xls

ここで、popd をコメントアウトすると正常に動作します。ただし、popd をコメントアウトすると、これを複数回実行すると多くの仮想ドライブが開かれます。

Excel を開いて作業を行い、閉じるときに条件を設定する方法はありますか? popd は発生するはずです (条件付きで)。

Excel を開くスクリプトを実行した後のエラー:

Excel を開くスクリプトを実行した後のエラー

答え1

を使用してください。または、そもそもstart /wait使用しないでください。ExcelはUNCパスをサポートしています(ほとんどのアプリと同様に)pushdを除外するCmdの場合):

set data_sheet="\\EXAMPLE\module1\Automation\Datasheets\ZXC"
set csv_name=%3

start excel "%data_sheet%\%1\%2\%csv_name%"

固定マッピングが必要な場合は、 を使用して作成しますnet use

関連情報