2

Windows XPマシンの1つで、次のようなPerlシステムコマンドが次のようなdir /bエラーメッセージを生成します/b: no such file or directory。つまり、スイッチはファイル名として解釈されています。

これは、、、またはを使用するかどうかに関係なく発生backticksopen()ますsystem()。別の引数としてsystem()にスイッチを渡してみました。当然、DOSコマンドラインまたはバッチスクリプトで呼び出しが正しく機能することを確認しました。

他の誰かがこれに遭遇しましたか?

4

2 に答える 2

5

おそらくCygwinがインストールされており、ビルトインでdir.exeはなく へのエイリアスであるパスにあります。cmd.exels

C:\>どのディレクトリ
/usr/bin/dir

C:\> c:\opt\cygwin\bin\dir.exe --version
dir (GNU コアユーティリティ) 8.15
Cygwin でパッケージ化 (8.15-1)
…

C:\> ディレクトリ /b
…

C:\> perl -e "print `dir /b`"
dir: アクセスできません /b: そのようなファイルまたはディレクトリはありません

C:\> perl -e "print `cmd /c dir /b`"
…
于 2012-04-12T11:39:27.933 に答える
1

未確認:

dirコマンドインタープリターの組み込みコマンドです。/c代わりにまたは/kスイッチを使用してコマンド インタープリターを実行し、その後に実行するコマンドを続けます。

于 2012-04-12T09:25:19.210 に答える