質問: コマンドプロンプトでwgetを使用しwebファイルを取り込もうとしたところ、「指定されたパスが見つかりません。」と返ってきます。 アドレスは合っていて、ファイアウォールを解除した状態でも行ってみましたが同じ結果になりました。 この場合、考えられる原因は何でしょうか。 《以下追記》 個人情報も微妙に含まれるので、()で仮書きしました。 上記が入力内容で、下記が返ってきた内容です。 Windowsのコマンドプロンプト(Windows+Rキーとcmdで開くもの)を使用しました。 _______________ cd Desktop & echo wsl if [ ! -f ~/(ファイル名) ]; then wget https://raw.githubusercontent.com/(アドレス) -O ~/(ファイル名); chmod +x ~/(ファイル名); fi; ~/(ファイル名) > "Start robo.cmd" ——————————————— 指定されたパスが見つかりません。 _______________
回答: PowerShellなら`wget`および`curl`が`Invoke-WebRequest`のエイリアスとなっており使用可能です。 GNU wgetとはオプションが異なりますが... Invoke-WebRequest ``` Invoke-WebRequest -Uri 保存対象のURI -OutFile 保存ファイル名 ``` `-Uri`は省略できます。 `コマンドプロンプト`で`wget`を実行したいのではなく、 「`wsl`で`~/(ファイル名)`がなければ`wget`で取得して実行権限をつけ、そのファイルを実行する」を実行するためのバッチファイルを`デスクトップ`上に作ろうとしているということでよろしいですか? ``` cd Desktop & echo wsl if [ ! -f ~/(ファイル名) ]; then wget https://raw.githubusercontent.com/(アドレス) -O ~/(ファイル名); chmod +x ~/(ファイル名); fi; ~/(ファイル名) > "Start robo.cmd" ——————————————— 指定されたパスが見つかりません。 ``` `echo`で`Start robo.cmd`に書き込んでいるだけなので`wget`は関係なさそうですが... 上記コマンドは何処のディレクトリで実行しましたか? `Desktop`というディレクトリが見つからなくてエラーとなっているだけと思います。 以下に変更してみてください。 ``` cd %USERPROFILE%\Desktop & echo wsl if [ ! -f ~/(ファイル名) ]; then wget https://raw.githubusercontent.com/(アドレス) -O ~/(ファイル名); chmod +x ~/(ファイル名); fi; ~/(ファイル名) > "Start robo.cmd" ```