質問: Shell(strPath, 6) 'vbMinimizedNoFocus If RetVal <> 0 Then MsgBox strPath & vbCr & "実行されました。", vbInformation, "[タスクID]" & RetVal Else MsgBox strPath & vbCr & "実行出来ません。", vbCritical, "[ERROR]" End If End Sub 【バッチファイル】 --------- @echo off for %%f in ( * ) do call :sub "%%f" exit /b :sub set fname=%1 set fname=%fname:.txt=.bat% ren %1 %fname% goto :EOF どなたかお力を貸していただけると助かります。 初心者のため、簡単に教えていただけないでしょうか?? 宜しくお願いします。
回答: マクロから実行されたシェルのデフォールトのフォルダーが、バッチファイルがあるフォルダーと異なっているのが原因だと思われます。 バッチプログラムの1行目と2行目の間に、cdコマンドを挿入して、バッチファイルのあるフォルダ C:\Users\A\Desktop\A\ に移動するようにすれば、解決すると思います。 以下は、上記の変更をしたバッチプログラムの最初の3行分です。 ``` @echo off cd C:\Users\A\Desktop\A\ for %%f in ( * ) do call :sub "%%f" ```