perl cgiでサブディレクト内のファイル名取得

$dir="../01/";
$id_c="*.c";
$file_c=$dir.$id_c;
@InputFileAllBuf_c = glob($file_c);
$InputFile = $fileAll;
open IN,"$InputFile";
@InputAll = <IN> ;
close(IN) ;
のようにすると、指定dir内のファイル名が
取得できます。
さらに、指定dirの直下たけでなく、
指定dir内のサブディレクトも、
ファイル名を取得する方法ありますか?
よろしくお願いします。

A 回答 (1件)

Perlカテゴリがあるので、そちらのほうが適切な回答が得られるとおもいますが。



File::Findモジュールを使うと、簡単に書けます。
モジュールを使わないなら、opendirでぐるぐるまわす方法もあります。

ex)
use File::Find;

finddpth(\&list, "$dir");
exit;

sub list{
print $File::find::name, "\n";
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QGetHTMLWでの指定Dir内のDownLoad方法が?

GetHTMLWでトップページが無いディレクトリ内の指定拡張子データをダウンロードしたいのですが、フィルタ設定では出来ませんでした。

どうすればよいのでしょうか?

Aベストアンサー

「トップページがない」ことから.該当ディレクトリー内ファイル一覧をIEなどで見られる場合と解釈しました。
biglobeやniftyのように403を発生させアクセス権を制限している場合にはファイル名を取得できませんのでダウンロードできません。最低限ファイル名を取得することが必要です。

>どこの設定のこ
設定(c)
取得条件設定
内の指定です。

なお.これでうまくダウンロードできない場合には.ファイル名を記載してあるアドレスを読み取り開始位置として指定します。
取得条件設定の4を追加で指定して.その下の「階層まで取得」を1.2.3..とふやしてください。多分2までで取得できるはずです。取得できたらば.取得アドレスを許容アドレス等として登録します。
3を指定すると多くの場合.ダウンロードデータが1GBを超えるでしょうから.実質的に不可能となります。

なおこの方法では.ベクターからのダウンロードは成功していません。転送やアクセスカウントなどがしてある場合にはダウンロードできません。

Qこんな計算ソフトないですか?(3,+,=,=,=,=...)

電卓で3,+,=,=,=,=,=... とやると3,6,9,12,15..と出るじゃないですか。

その3のとこに数字を入れたら一瞬で答えがババババッと羅列されるようなソフトってないでしょうか?(フリーソフトで)

後、こういう計算を何て呼ぶのかも教えて下さい

Aベストアンサー

★おはよう御座います。いきなり『鍋電卓』はどうでしょうか?
・鍋電卓は、従来の電卓機能+BASIC言語を搭載しており、定形の計算&従来専用ソフトが
 必要だった物も、電卓のみで簡単に実現出来ます。
・この電卓は、回答者 No.3 さんの紹介している 十進BASIC の言語機能を搭載しているため、
 一連の計算(等差数列など)ならば、表計算ソフト(Excel)を使うよりも手軽だと思います。
・付属の説明書をよく読み、搭載されている BASIC 言語を理解することで普通の電卓では
 計算できそうもない複雑な計算も行えるようになります。→これが BASIC 言語の魅力です。
・下に『3』『+』『=』『=』『=』『=』『=』という計算を行うサンプルを載せます。
 これを『鍋電卓』で使えば簡単に連続計算の結果一覧が表示されます。

サンプル:
cls
ans = 0
max = 100
PRINT "+3を";max;"回繰り返します"
FOR a = 1 to max
ans = ans + 3
PRINT a;"回目=>";ans
NEXT
PRINT "計算終了"

●使い方
・『鍋電卓』を起動します。→その前にダウンロード&インストールしてね。
・右側にある3つ目のタブ『Script』を選択して下さい。
・メモ帳のような入力画面が出ますので、上記のサンプル(9行)をコピー&ペーストして下さい。
・『SAVE』ボタンを押して『repeat.bas』という名前で保存します。→名前は自由です。
・『RUN』ボタンを押して下さい。
・電卓画面に100回の計算結果が表示されましたよね。→スクロールバーで確認できます。
 範囲を選択してコピー&ペーストすれば、メモ帳などに計算結果を貼り付けられます。
・どう。BASIC 言語というプログラミングの機能は?→すごいですね。

最後に:
・『BASIC』は『ベーシック』と読みます。この BASIC はたくさんの種類とユーザさんがいるので
 21世紀でも活躍しています。回答者 No.3 さんの紹介している 十進BASIC や TinyBasic もその
 仲間です。→ただし、あまりにも種類が多すぎて独自機能があるため、共通してソースを利用で
 きないのが残念です。今回紹介した『鍋電卓』も独自の BASIC 言語を搭載しているソフトです。
 でも基本は同じですので直ぐになれます。
・あと Windows XP ならば VB Script が既に利用できる状態にあります。
 この『ビジュアル・ベーシック・スクリプト』の方が機能面で強力です。→BASIC 言語を学ぶならば
 お勧めします。パソコン操作をさらに使いやすく自動化できます。詳しいことは、
 『コンピューター [技術者向け]』→『プログラミング』→『Visual Basic』カテゴリで質問・閲覧
 してみて下さい。
・以上。おわり。

参考URL:http://www.vector.co.jp/soft/win95/personal/se248513.html

★おはよう御座います。いきなり『鍋電卓』はどうでしょうか?
・鍋電卓は、従来の電卓機能+BASIC言語を搭載しており、定形の計算&従来専用ソフトが
 必要だった物も、電卓のみで簡単に実現出来ます。
・この電卓は、回答者 No.3 さんの紹介している 十進BASIC の言語機能を搭載しているため、
 一連の計算(等差数列など)ならば、表計算ソフト(Excel)を使うよりも手軽だと思います。
・付属の説明書をよく読み、搭載されている BASIC 言語を理解することで普通の電卓では
 計算できそうもない複雑な計算...続きを読む

Qローカルに保存してあるファイルやフォルダのパスを取得して「file:/

ローカルに保存してあるファイルやフォルダのパスを取得して「file://c:\windows\readme.txt」のようなリンクを作成してくれるツールやソフトを探しています。シフト+右クリックでファイルパスを取得してfile://(ここにペースト)で作成することも考えましたが、ファイルパスにスペースが入っているとリンクとして機能しません。このあたりを解決できる案をどなたかご教授ください。

Aベストアンサー

それくらいなら作ってもいいけど、利用目的が?

空白は""で解決してるのかな?

その辺が分からんと、出来んわな。

Q指定したファイルの文字コードをShift_Jis→Unicodeに変換してくれるソフト(Windows)

質問させて下さい。

タイトルのままですが、ファイルの文字コードを、Shift_JisからUnicode(UTF-16LE)に変換してくれるフリーウェアを探しています。

メモ帳を使えば可能な事ですが、何百というファイルを処理したいので、専用のソフトがあれば…、と思っています。

できれば、複数のファイルのD&D→一括変換が出来るものがいいです。


ベクターで探したのですが、適当なものが見つかりませんでした…。

どうかよろしくお願いします。

Aベストアンサー

84行目ですよね

出力先フォルダを作成しようとして、コケてますね。
出力先は「strNewFileFolder」に指定されている場所です。


既存物では
strNewFileFolder = strFolder & CONVERT_OUT
となっているので、変換元ファイルの下にフォルダを作成しようとしています。
例.
変換前/C:\新しいフォルダ\テキストファイル.txt
変換後/C:\新しいフォルダ\変換後\テキストファイル.txt


元のプログラムが
CONST CONVERT_OUT = "変換後\"
となっている部分を
CONST CONVERT_OUT = "C:\Program Files\s16s\"
としたのですよね?


出力先をフルパス指定したのであれば
strNewFileFolder = strFolder & CONVERT_OUT
を改造して
strNewFileFolder = CONVERT_OUT
としてください。

>82~85行目までの、If文を削除して実行したところ、
復活させておいてくださいね^^;


もし、それでも走らなかったら、変更箇所をおしえてください^^

84行目ですよね

出力先フォルダを作成しようとして、コケてますね。
出力先は「strNewFileFolder」に指定されている場所です。


既存物では
strNewFileFolder = strFolder & CONVERT_OUT
となっているので、変換元ファイルの下にフォルダを作成しようとしています。
例.
変換前/C:\新しいフォルダ\テキストファイル.txt
変換後/C:\新しいフォルダ\変換後\テキストファイル.txt


元のプログラムが
CONST CONVERT_OUT = "変換後\"
となっている部分を
CONST CONVERT_OUT = "C:\Program Files\s1...続きを読む

Qdelphi6初心者ですm( _ _ )m

ウインドウズでのソフト開発超初心者ですm(_ _)m
システム手帳のようなものを作ってみたいとdelphi6をダウンロードしました。
まったく使い方がわからないので何か本で勉強しようと思ってますが、やりもって勉強できるような参考書はないでしょうか?
イメージ図が多く乗った本ってありますか?

またdelphiでなくこの言語(ソフト)で作った方がいいってものがありましたらご教授願います。

宜しくお願いします。

Aベストアンサー

>イメージ図が多く乗った本ってありますか?
そもそも覚えるのはdelphi6の操作方法でなくて
プログラミングの方法でしょ。
そんな図がたくさんある本は必要ない。

>またdelphiでなくこの言語(ソフト)で作った方がいいってものがありましたらご教授願います。
言語なんてなんでもいいよ。

とりあえず自分で本屋に行って自分で読みやすい本を買う。
(人によって読みやすいにくいは大差があるから)
あとネットで検索する。


人気Q&Aランキング

おすすめ情報