【CommandNotFound】'ICACLS'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。



解決方法

このコマンドはWindowsの機能です。
以下の2パターンが存在します。

(1)C:\Windows\System32 に存在
(2)Windows内部コマンド

(1)に関しては実行ファイルはC:\Windows\System32 に存在します。
path コマンドで C:\WINDOWS\system32にパスが通っていることを確認してください。
もしpathが通っていないならC:\WINDOWS\system32をpath環境変数に追加してください。

以下はコマンドの実行例です。
例:

set path=%path%;C:\Windows\System32



あるいは直接フルパスで実行してください。

以下はipconfig の場合です。

C:\WINDOWS\system32\ipconfig.exe




(2)の場合はWindows内部コマンドのため実行ファイルはありません。
Windows内部コマンドの例
cd , copy , date , set , start など
この場合、何らかのシステムで不整合が発生していると思われます。


以上で修復しない場合はシステムに深刻な問題が発生している可能性があります。以下コマンドでシステムに問題がないか確認します。


C:\>sfc /scannow
Dism /Online /Cleanup-Image /RestoreHealth



コマンドプロンプトからコマンドを実行した場合、以下のエラーが発生する場合があります。
'<コマンド名>'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。

主に以下のいずれか原因しています。
1.実行したいプログラムへのパスが通っていない。

以下コマンドを実行します。


C:\Windows\system32>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;C:\Program Files\Amazon\AWSCLI\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;



このパス内に目的の実行ファイル(*.exe , *.bat , *.com など)が存在することを確認してください。

(1)実行するコマンドがどこにあるか確認する。
例えば abc.exeの場合、そのファイルがどこに存在するか確認します。以下はCドライブの例です。Dドライブの場合は追加でd:\のフォルダも検索します。


cd c:\
dir /s abc.exe



(2)pathを追加する。
もし見つかったらパスを追加します。見つからなかったらそもそもそのソフトウェアはインストールされていないと思われます。

[コントロールパネル]→[システム]→[システムの詳細設定]→[環境変数]
ここで「システム環境変数」で[Path]をダブルクリック。[新規]をクリックし見つけたパスを追加する。

あるいは一時的に追加するなら以下コマンドで可能です。ただしコマンドプロンプトを閉じたら設定も消えてしまいます。

C:\>set path=%path%;c:\pathToYourExe



あるいは一度だけなら直接実行も可能です。この場合は設定は不要で実行できます。ただし毎回フルパスを指定する必要があります。

c:\pathToYourExe\abc.exe




2.対象のプログラムがインストールされていない。
そもそも関連するプログラムがインストールされていない場合、プログラムは実行されません。
(特に Linux 系のコマンドをWindowsで実行する場合)

必要なソフトウェアを確認してください。






コマンドが見つからない場合の対処




このページは個人的に独自に調査した事項をまとめています。他組織や開発ベンダーとは一切関係ありません。
内容に誤りがある可能性があります。また情報が古い可能性があります。内容は保証しません。
参考程度に閲覧ください。万が一誤りがあっても保証はありません。自己責任で読んでください。