web-dev-qa-db-ja.com

WindowsCMD.exe「システムは指定されたパスを見つけることができません。」

Windowsを以前の状態に復元することで解決

メッセージ(システムは指定されたパスを見つけることができません。)は...を示しています。

1)新しいCMDを開いたとき(Win + R => cmd)。紹介から始まります。 (3行目)

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
The system cannot find the path specified.

C:\Users\ViliamKopecky>

2)cmd /C dir(またはcmd /C php -vなど)のようなコマンドを実行したとき(2行目)

C:\Users\ViliamKopecky>cmd /C dir
The system cannot find the path specified.
 Volume in drive C is Windows7_OS
 Volume Serial Number is 8230-1246
...

C:\Windows\System32>cmd /C php -v
The system cannot find the path specified.
PHP 5.4.8 (cli) (built: Oct 16 2012 22:30:23)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

3)(最も厄介な)PHPまたはNode.jsまたはおそらく任意のスクリプト言語(おそらく内部からcmd /C <command>として実行される)からexec関数を実行するとき

メッセージが表示されません...

1)cmd(またはmingw、...)から直接コマンドを実行したとき

C:\Users\ViliamKopecky>dir
 Volume in drive C is Windows7_OS
 Volume Serial Number is 8230-1246

 Directory of C:\Users\ViliamKopecky

Cmdからの簡単なコマンドから始めましょう。

php -r "exec('dir', $stdout, $stderr); print(implode(\"\n\", $stdout), $stderr);"

結果は次のようになります(ディレクトリテストは空です-それは正しいです)

E:\test>php -r "exec('dir', $stdout, $stderr); print(implode(\"\n\", $stdout), $stderr);"
The system cannot find the path specified.
 Volume in drive E is www
 Volume Serial Number is 0C99-95EC

 Directory of E:\test

09.11.2012  22:42    <DIR>          .
09.11.2012  22:42    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  13 495 296 000 bytes free
int(1)

これは、コマンドdirがphpから正しく実行されていることを示しています。間違っているのは2行目だけです---システムは指定されたパスを見つけることができません。-そこにあるべきではありません。

このメッセージは、execによって[〜#〜] php [〜#〜]から出力されます(また、Node.js as require('child_process').exec("dir", function(err, stdout, stderr) {console.log(stderr)});)から出力されます。

Cmd(またはmingwなど)から直接コマンドを実行すると、メッセージなしで正しく実行されます。環境変数PATHは問題ないようです。問題は、スクリプト環境からexec関数を介して実行しているだけです。

その迷惑なメッセージを取り除く方法は?ありがとう

17
ViliamKopecky

問題は、cmd.exeを実行すると、一部のプログラムが自動実行に設定されていることです。私の場合、インストールされたのはANSICONでした...そして、適切にアンインストールせずにファイルを移動しました。

私はこのブログ投稿で解決策を見つけました:

http://carol-nichols.com/2011/03/17/the-system-cannot-find-the-path-specified/

短いバージョンは見つけることです

HKCU\Software\Microsoft\Command Processor\AutoRun

値をクリアします。

42
s3v1

これは実際には、コードではなく、PHPの起動エラーのように見えます。しますか

php -r "echo 1;"

また、同じエラーをスローしますか?その場合、php.iniファイルまたはインクルードのパスが正しくない可能性があります。

php -i

あなたにもっと情報を与えるはずです。

0
Joseph Keeler

これを試してみるべきだと思います!私は同じ問題を抱えていて、次のように解決しました:

ok type:cd\windows\system32その後、次のように表示されます。System32/:必要なものを入力します(例:ipconfig):System32:ipconfigこれで完了です! :)

0
Jess