- ベストアンサー
【BATファイル・画像あり】なぜこのバッチファイル
【BATファイル・画像あり】なぜこのバッチファイルは動かないのでしょう? '''bat ''' は削除して、bat.batをデスクトップに置いてダブルクリックしました。 result.txtがデスクトップに出力されないので、デスクトップのディレクトリを書いてC:¥Users¥jibun¥Desktop¥result.txtにしました。 http://example.com/0000/1-1.htmlから0000ディレクトリを9999までループさせてresult.txtに出力するバットファイルです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
AIを100%信用しないでください。 「AIは息をするように嘘をつく」とも言われています。 今回の場合は、%%04iが嘘です。 バッチの不具合はわかりますが、powershellの行については自信がありません。 同じようにコピーしたつもりですが間違っていたら修正してください。 (!を%に変更しただけです) @echo off for /L %%i in (0,1,9999) do call :SUB %%i exit /b :SUB set num=000%1 set num=%num:~-4% set "url=http://example.com/%num%/1-1.html" echo %url% powershell -Command "(Invoke-WebRequest -Uri %url% -UseBasicParsing -ErrorAction SilentlyContinue).StatusCode" >>result.txt exit /b
その他の回答 (1)
- luka3
- ベストアンサー率72% (424/583)
ふとAIの回答を見直してみると、『!url!』と遅延展開を使っているにもかかわらず、enabledelayedexpansionの指定がないんですよね。 だからといって、これを付け足したら動くかというとそういうわけでもないですが。 AIの回答に寄り添った形で作るとこんな感じになります。 @echo off setlocal enabledelayedexpansion for /L %%i in (0,1,9999) do ( set num=000%%i set num=!num:~-4! set "url=http://example.com/!num!/1-1.html" echo !url! powershell [省略] )
お礼