1

rougeWindows でプログラムを実行するために Strawberry Perl をインストールしました。しかし、プログラムを実行しようとすると、画像に表示されているエラー メッセージが表示されます。

The system can't find the path  specified.

私のコードは「ROUGE-1.5.5.pl」を実行しようとしていますが、システムがこのファイルを見つけられないと思います。パスを正しく初期化していないのではないでしょうか?

コードを次のように変更します。

  #!/usr/bin/perl
  use Cwd;
  $curdir=getcwd;
  $ROUGE="..\ROUGE-1.5.5.pl";
  chdir("sample-test");
  $cmd="$ROUGE -e ..\data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a DUC2002-ROUGE.in.26.spl.xml > ..\sample-output\output.out";
  print $cmd,"\n";
  system($cmd);
  chdir($curdir);

次のエラーが表示されます: Missing Braces on \o{} at C:\runROUGE-test.pl line 7, near "$ROUGE" C:\runROUGE-test.pl の実行は、コンパイル エラーにより中止されました。

http://i.stack.imgur.com/BP9Ef.png

4

2 に答える 2

2

スクリーンショットによると\ROUGE-1.5.5.pl、偽のバックスラッシュなしで(または..\ROUGE-1.5.5.pl、親ディレクトリがPATH.

同様に、特にこの目的のためのフォルダーがない限り、出力をsample-output\output.out、または単にに出力したいでしょう。output.out\sample-output\output.outC:\sample-output

バックスラッシュは重要です。ルート (Windows では現在のドライブ) への絶対パスです。..\親フォルダーへの相対パスです。

しかし、なぜ Perl スクリプトを実行するために Perl スクリプトを作成しているのですか? 単純なバッチ ファイルを使用するか、コマンドを DOS プロンプトに直接コピー アンド ペーストするかのいずれかは、あまり遠回りではない解決策のように思えます。

于 2013-10-22T12:37:30.603 に答える
0

問題は、プログラムの内容をフォルダー sample-output 内のファイル output.out に出力する場合、sample-output フォルダーが存在しないことです。

コマンド プロンプトでは、ファイルのみが作成され、フォルダーは作成されません。パスが C:\sample-output などに解決されるように、最初に "sample-output" という名前のディレクトリを (ドライブのルートに) 作成して、もう一度実行してみてください。

同じ問題が発生する場合は、代わりに C:\sample-output\output.out などの絶対パスを使用してみてください。

于 2013-10-22T12:26:40.623 に答える