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と関連する良く見られている質問

Qフォルダ内で、一致するファイル名の数を表示してフォルダ名を修正してくれるソフト

 はじめまして。
 ベクターでソフト探したのですが見つかりませんでした。知っている方いらっしゃいましたらお願いします。

○やりたいこと
1、フォルダ内でファイル名を検索(例えばyoshioフォルダ内の「出張」)
2、条件に当てはまるファイル数を表示(△○件)
3、そのフォルダ名を変更(yoshioのフォルダ-△○)

 ファイルをリストで表示するソフトは見つけられましたが、検索式に当てはまるファイル数を表示させて、そのフォルダ名を変更するようなソフトがみつかりませんでした。
 フォルダ名を変えるのが難しいのであれば、せめて上記2のファイル数を表示まで行えるソフトがあれば助かるのですが、どなたかよろしくお願いいたします。

 只今、手作業でこの作業(フォルダ内で出張に関するファイルの数を調べてフォルダの名前の後に数量を表示させる)を行っていますが、ソフトで自動化できないかと思っています。フォルダ数が沢山あるうえに定期的に数の確認をしていますので、作業の軽減を図りたいと思っています。

 よろしくおねがいいたします。

Aベストアンサー

>2回目で…でエラー
すみませんm(_ _)m
ソフトを点検した時は、うまく行っていたのですが、
なぜかアップした時に、文字が変わっていました。
>if folder.Name <> folderNmae then 'フォルダ名に変更が有った時名前を変更する
の行の
folderNmae

folderName
に変更して下さい。
なぜか、aの位置が違っています??

>VBScriptのテキスト
あんまり初心者用のラーニングテキストではないのですが、サンプルプログラムや、サンプルケースが載っている本として
『WSHクイックリファレンス』オライリージャパン/発行所、オーム社発売元(3500円+税)がでています。
あと、
参考URLから以下のドキュメントがダウンロードできます。いわゆるヘルプ形式なので良いです。
結局大元のドキュメントなので、最終的にはここを確認しないといけません。
VBScript ドキュメント
Windows Script Host ドキュメント
Windows スクリプト コンポーネント ドキュメント

参考URL:http://www.microsoft.com/japan/msdn/scripting/default.asp

>2回目で…でエラー
すみませんm(_ _)m
ソフトを点検した時は、うまく行っていたのですが、
なぜかアップした時に、文字が変わっていました。
>if folder.Name <> folderNmae then 'フォルダ名に変更が有った時名前を変更する
の行の
folderNmae

folderName
に変更して下さい。
なぜか、aの位置が違っています??

>VBScriptのテキスト
あんまり初心者用のラーニングテキストではないのですが、サンプルプログラムや、サンプルケースが載っている本として
『WSHクイックリファレンス』オラ...続きを読む

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

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

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

Aベストアンサー

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

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

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

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

Qファイル名一括変換ソフト

100個以上のWindows(XP,2000)のファイルのファイル名を、任意の名称から、異なる任意の名称に名称変更したいのですが、1つづつ修正するのは間違いが生じるので、予めファイルを作成しておき一括返還したいと考えています。

 変換ファイルは、CSVやテキストファイルで、たとえば、(変換前ファイル名、変換後ファイル名)という形式で指定できるとベストです。他の指定方法でも構いませんが、返還前に再確認できることが望ましいと考えます。
 フォルダは、すべてのファイルが同じところにある前提(どこかで指定する)とします。

 以上のような、フリーソフト、フリーウェア(小額なら、シェアウェアも可)を紹介いただけないでしょうか。

Aベストアンサー

初めまして

これはどうでしょう?
Excel のマクロを使用してファイルの一覧表シートを作成し、指定されたファイルのリネーム又はコピーをする
http://www.vector.co.jp/soft/win95/util/se383332.html

他にもいっぱいありどれが合うか?
http://www.vector.co.jp/vpack/filearea/win95/util/file/name/

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フォルダー名がファイル名になるフリーソフト

たくさんの画像フォルダとその中にそれぞれ大量の画像ファイル(jpeg)があります。

一括してファイル名変換するソフトの中で、

フォルダ名をファイル名+ナンバーに一括変換するフリーソフトは、ないものでしょうか。
少し、特殊なファイル名変換です。

Windows7で動くとありがたいです。
よろしくお願いします。

Aベストアンサー

リネームソフトを一つ用意しておくと便利ですよ。
例えば【 Flexible Renamer 】などの定番ソフトをインストール
します。このようなソフトなら画像ファイル以外のファイルも
簡単に一括変換できます。
http://hp.vector.co.jp/authors/VA014830/FlexRena/

複数の画像フォルダが一つのフォルダの中にある場合ならば、
[下位フォルダ以下も対象]へとチェックを付け、[ターゲット]
を[ファイル]にして[フィルタ]を[ *.jpg ]にします。
[メニュー]から[連番や文字列の追加]を開きます。
[フォルダ名 + 連番]を指定して開始番号や桁数を指定。
[リネーム]が指定してあれば、右の一覧にある[新しい名前]が
フォルダ名と連番の組み合わせに変わっているでしょうから、
[リネーム]ボタンを押して一括変換します。

このようなソフトを一つ持っておけば、様々な応用ができて、
活用範囲が広がりますから、定番ソフトとしてお勧めします。

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

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

Aベストアンサー

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

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

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

Q複数のファイルのファイル名を一括に変換するフリーソフトは?

複数のファイルのファイル名を一括に変換するフリーソフトは?

複数のファイルのファイル名を一括に変換して

運動会01
運動会02
...

という風に順番号名を付けることができる
いいフリーソフトを教えてください。

Aベストアンサー

http://www.vector.co.jp/soft/win95/util/se230280.html

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...続きを読む

Qフォルダ内のファイル名変換ソフト

沢山あるファイルのファイル名を変更して、ファイルの整理をしたいと
思っております。

フォルダを指定して、中にある沢山のファイルに、同じ条件を指定して、
ファイル名に変換をかけるソフトは持っております(001~099といった連番
をつける等)。

それぞれのファイルに個別の名前をつけたい場合、ひとつひとつのファイル名を
「右クリック→名前の変更→名前入力」で変更しているのですが、もっと簡単に変
換したいです。

イメージとしてはフォルダを指定して、フォルダ内のファイル名が一覧に並んで
表示され(エクセルの表のように)、それを変更すればフォルダ内のファイル名も
変換できてしまうような事がしたいです。

探したのですがそういったソフトが見つかりませんでした。
原理的に不可能なのでしょうか?

そういった事を実現できるソフトをご存知の方、教えてください。
宜しくお願い致します。

Aベストアンサー

次のようなフリーソフトでは,どうでしょうか。

テキストエディタのように変更したいなら
http://www.vector.co.jp/soft/win95/util/se317503.html

エクセル上でやりたいなら
http://www.vector.co.jp/soft/win95/util/se208296.html

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

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

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

宜しくお願いします。

Aベストアンサー

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

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

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


人気Q&Aランキング