- 締切済み
なぜか実行されません
Win2003サーバーに「test」フォルダがあり、その中に「test.pl」という Perlのファイルがあります。 (testフォルダのアクセス権設定は完了済み) WinXP pro2 のクライアントPCのCドライブ直下に(ActiveState ActivePerl5.6)がインストールされています。 バッチファイルを作成し、クライアントPCのPerlを使用してtest.plを動作させたいのですが、「cannot open」と表記されてしまいます。 作ったバッチファイルは以下のとおりです。 test1.bat------------------------------------------------- "C:\Perl\bin\perl.exe" "\\@@@.@@@.@@@.@@@\test\test.pl" (@には数字が入りサーバーのIPアドレスです) ---------------------------------------------------------- test2.bat------------------------------------------------- "C:\Perl\bin\perl.exe" "Z:\test\test.pl" (ネットワークドライブをZドライブとしてマウント状態で実行) ---------------------------------------------------------- 1と2両方とも同じエラーが表示され実行されません。 testフォルダにtest.textを作成しwordpadで、開くようにした ========================================================== "C:\Program Files\Windows NT\Accessories\wordpad.exe" "Z:\test\test.txt" ========================================================== は、問題なく実行できているため、アクセス権限ではじかれているとも思えないのです。 (test.txt)(test.pl)ともにまったく同じアクセス権限設定がされています。 いったい何が原因なのでしょうか? 解決方法がございましたらご教示ください。 よろしくお願いいたします
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- bgbg
- ベストアンサー率53% (94/175)
Windowsネットワークにおいてアドレスやホスト名でファイルアクセスする時は、'\\ IPアドレス | ホスト名 \'のように、先頭に'\'を2つ付与します。 $DIRBASEは、 $DIRBASE = '\\@@@.@@@.@@@.@@@\test\'; もしくは $DIRBASE = "\\\\@@@.@@@.@@@.@@@\\test\\"; とすべきです。 (こう直したとしても別のエラーが発生する可能性がありますが)
- HIRSYU
- ベストアンサー率51% (45/87)
>open( OUT, ">$HTMLFILE")|| die "cannnot create htmlfile\n"; で、$HTMLFILEに書き込み。 >$DIRBASE = "\\@@@.@@@.@@@.@@@\test\\"; >$HTMLFILE = "$DIRBASE" . "test\\test.html"; から、$HTMLFILEは、\\@@@.@@@.@@@.@@@\test\\test\\test.html ディレクトリ「\\@@@.@@@.@@@.@@@\test\\test」が無い為とか?
お礼
本日、原因不明なまま問題が解決してしまいました。 perlファイルの中身はいじっていません。 謎が謎のままにしてあるのがなんとも気持ちが悪いのですが・・・。 アドバイス有難うございました。
- t-okura
- ベストアンサー率75% (253/335)
test.pl で open 等のファイル操作を行っており、そのエラーメッセージ が表示されているということはありませんか。
お礼
本日、原因不明なまま問題が解決してしまいました。 perlファイルの中身はいじっていません。 謎が謎のままにしてあるのがなんとも気持ちが悪いのですが・・・。 アドバイス有難うございました。
補足
#!c:/Perl use Date::Calc qw(:all); use SDBM_File; sub O_RDWR { 0x0002 } sub O_BINARY { 0x8000 } $DIRBASE = "\\@@@.@@@.@@@.@@@\test\\"; $HTMLFILE = "$DIRBASE" . "test\\test.html"; $WHICHDAY = "$DIRBASE" . "schedule"; tie( %daytype, 'SDBM_File', "$WHICHDAY", O_RDWR|O_BINARY, 0640 ) || die "cannnot open $WHITCHDAY \n"; open( OUT, ">$HTMLFILE")|| die "cannnot create htmlfile\n"; ------------------------ 以下省略 ------------------------------ ご指摘のとおり「open」の記述がありました。 前任者から引き継いだものでPerlをはじめて触るような状態のため、 私自身がよく分かっていないの一番の問題だと分かっているのですが・・・ cannot open \@@@.@@@.@@@.@@@(サーバIPアドレス) test\pcwhere と表示されています。 よろしくお願いいたします。
- bgbg
- ベストアンサー率53% (94/175)
"cannot open"以外に何かエラーメッセージが出ていませんか?
お礼
本日、原因不明なまま問題が解決してしまいました。 perlファイルの中身はいじっていません。 謎が謎のままにしてあるのがなんとも気持ちが悪いのですが・・・。 アドバイス有難うございました。
補足
cannot open \@@@.@@@.@@@.@@@(IPアドレス) test\pcwhere 全文書きますと以上のようになります。 これから何か分かりますでしょうか?よろしくお願い致します。
お礼
本日、原因不明なまま問題が解決してしまいました。 perlファイルの中身はいじっていません。 謎が謎のままにしてあるのがなんとも気持ちが悪いのですが・・・。 アドバイス有難うございました。