- ベストアンサー
ワイルドカードの処理(win/dos)
perlでワイルドカードの処理をするにはどうしたらよいでしょうか? 具体的には、ワイルドカードに該当したファイル分、 下記の処理をしたいのですが。 OSはWindows(DOSプロンプト)です。 (Windows(MS-DOS)はUNIXと違って、 ワイルドカードの展開をアプリケーション任せにしているようです。) -- while (<>) { if ($. == 2) { print; last; } } --
- Perl
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Command.comのコマンドFORでperlを動かすってのは: > FOR %m IN (*.txt) DO perl -ne "if ( $.==2 ){print;exit}" %m > FOR /? でヘルプが出ます。 自力で展開するなら、 @files = map { glob( $_ ) } @ARGV; で、@filesにファイル名が入ります。 要Perl5以降。
関連するQ&A
- DOSコマンドでの単純なループ処理
DOSコマンドで単純なループ処理を記述する方法を教えて下さい。 UNIXで下記のようにwhileコマンドを使用すると、 /export% While(1) ? ループ処理で実行させたいコマンドを記述 ? echo "" ? sleep 3 3秒おきにコマンドの標準出力が表示されます。 Windowsで同じようなことができたらいいなと 思うのですが、簡単な方法を知っている方がいたら 教えて下さい。
- ベストアンサー
- Windows系OS
- dosでPerl実行時にPOSTデータを持たせて実行したい
DOSでPerlを実行するときに、フォームのデータ(POST)をコマンドプロンプトからCGIに渡したいのですが、どうすればいいでしょうか?UNIX系OSならシェルでセットしますよね?DOSではどうすればいいでしょうか?
- 締切済み
- Perl
- DOSモードにならない
98SEですが、 「スタート」-「WINDOWSの終了」-「MS-DOSモードで再起動する」 これを実行してもDOSプロンプトが表示されません。 画面が真っ暗なままです。 もちろんキーをたたいても何も表示されません。 どこがおかしいと考えられるでしょうか? おねがいします。
- 締切済み
- Windows 95・98
- java アプリケーション実行時のDOSプロンプトの消し方について
作成したjava アプリケーションを、DOSプロンプトや バッチファイルから実行すると、DOSプロンプトのウインドウが残ってしまいます。アプリケーション(プログラム)の起動と同時に消去まはた非表示にしたいのですがどうしたらよいでしょうか。よろしくお願いします。
- ベストアンサー
- Java
- dos.hについて
いま「Windowsコマンドプロンプトでマスター 書く!動かす!覚える! C言語100本勝負」というタイトルの本をサンプルプログラム集として使っているのですが、そのサンプルの中にdos.hを使ったプログラムが結構な数あります。コンパイルしたプログラムは正常に動くのですが、コンパイル時に次のような警告が出ます。 警告 W8053 hoge.c 18: '_dos_findfirst' は古い形式です(関数 main ) 警告 W8053 hoge.c 22: '_dos_findnext' は古い形式です(関数 main ) (コンパイラ:bcc32、OS:Windows XP SP2、コマンドプロンプトで実行した) ネットで調べたところ_dosで始まるような関数は現在ではほとんど使われていないようです。 そこで質問なのですが、MS-DOSの時代に使われていたような関数はWindows XPや2000等のコマンドプロンプトでも問題なく実行できるのでしょうか(自分の場合は実行できたが、警告が出た。)? 自分の推測ではコマンドプロンプト用の新しい関数が用意されているのではないかと思うのですが・・・ 詳しい方、できれば教えてください。 (正直、「コマンドプロンプトでマスター」とタイトルで謳っているのに内容が「MS-DOS」での説明とは少しだまされた気分です。)
- ベストアンサー
- C・C++・C#
- DOSプロンプトからFTP接続処理を自動化したい
iPhoneからのため、カテゴリ違いご容赦ください。 Windows7です。 下記の処理をバッチスクリプトにて自動化したいです 1.DOSプロンプトからFTPサーバへFTP接続 2.FTPプロンプトからDOSプロンプトに戻る(切断ではなく、FTP接続を保ったまま) 3.以降にも自動化したい処理はありますが、今回は質問用のため省略します 2.を実現する方法として、FTPプロンプトで"! [コマンド]"が使えるとのことだったので、 それを利用して作成したものを実行したところ、 2.を実行し終えたところでバッチが止まってしまいます。 (フリーズ・操作不能ではなく、プロンプトのままユーザからの入力待ち状態) 何故このようになってしまうのでしょうか。 また、2.より先も自動化するためにはどう修正すればいいでしょうか。 ただし、今回は環境上、DOSコマンドとFTPサーバのftpコマンド以外は使用できません。 (その代わり、多少強引でも構いません)
- 締切済み
- ハードウェア・サーバー
- DOS上で音が出ない
PC-AT版MS-DOS用のゲームを手に入れました。 そのゲームが対応しているのは、 1)AdLib Music Synthesizer Card 2)Roland MT-32 3)Creative Music System/Game Blaster となっております。 さて、そのゲームをWindows98SEがのったDOS/V機でプレイしたいのですが、 音が出ません。 搭載しているサウンドカードはSound Blaster Audigyで、 Windows上では問題なく、音が出ます。 DOS用のドライバはありません。 インターネット上で調べたところ、 Sound Blaster Live!にはDOS用ドライバが ついているらしいのですが、 AudigyはDOS上で使えないのでしょうか?
- 締切済み
- サウンドカード
- STDINがうまく動きません。
次のようなスクリプトを書いて、Windows上でDOSプロンプトから scr.pl < aho.txt と実行しましたが何も出力されません。 エラーメッセージなども表示されません。 STDINのpipeが動いていないと思われるのですが、何か書き方に 問題があるのでしょうか? 教えてください。 よろしくお願いします。 #!/usr/bin/perl-w while (<STDIN>) { chomp; print $_; }
- ベストアンサー
- Perl
- Windows2000 DOSバッチでアプリの起動遅延処理
3つのアプリケーションをスタートアップに登録 して、PCの立ち上げと同時に起動したいのですが、 同時に起動してしまうと不具合が発生するため アプリを1つずつタイマーで遅延して立ち上げたい と思っています。 Windows98では、DOSバッチのCHOICEコマンドで遅延 をかけることができたのですが、Windows2000 DOS プロンプトではこのコマンドが使えないため、困っ ています。 何かよい方法は無いでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- 立ち上げたら・・・(Win2000)
はじめまして。 最近OSをWin2000に入れ替えて(Meから) 快適に使ってたのですが、インストール しているノートンがウィルス発見の警告 がありまして対処しました。 それから、PCを立ち上げると「MS-DOS プロンプト」のようなウィンドウが立ち 上がりそのあとIEが立ち上がりまた数枚 「MS-DOSプロンプト」が立ち上がりなに かわからない処理を行い消え、IEだけが 立ち上がってるんです。 それまではそんなことなかったです。 なにが原因がまったくわからないので 皆様のお力をおかりしょうと思ってます。 些細なことでもいいのでお知らせください。 よろしくお願いします。 PC:ソーテックAfinaAv-AFM386C1
- 締切済み
- Windows NT・2000
お礼
お返事が遅くなり申し訳ございません。 Perl自力でやる方法を採用しました。 どうもありがとうございます。 大変助かりました。どうもありがとうございました。 さらに参考: http://homepage2.nifty.com/kipp/perl/jperl/