• ベストアンサー

ColdFusionのファイル検索法

ColdFusionで、フォルダの中のファイルを検索することは可能なのでしょうか?? <CFIF aというフォルダ中にTest.txtというファイルがあれば> <CFFILE ACTION="Read" FILE="C:\\a\text.txt" ~~~~~~~~ </CFIF> としたいのですが、IF文の部分はどのようにすれば良いのでしょうか??

質問者が選んだベストアンサー

  • ベストアンサー
  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

<CFIF FileExists("C:\\a\\test.txt") IS YES> <!--- ファイルが存在する場合の処理 ---> </CFIF> でいけるはずです FileExists関数でファイルの存在確認が出来るので それをCFIFでチェックすればOKです FileExists関数の詳細についてはColdFusionのヘルプで検索してみてください

a-hase
質問者

お礼

ありがとうございますっ。 FileExists関数を使ってみましたら、バッチリできました! まだまだ勉強不足ですね・・・。 ありがとうございました!

関連するQ&A

  • ファイル検索

    こんにちは。質問させてください。 あるフォルダ(ここでは$dir = "c:\\test\\file_data\\"とでもしておきます。)内に テキストファイルが複数存在するとします。 test1218.01.file1.txt test1218.10.file1.txt test1218.11.file1.txt test1219.01.file1.txt test1219.10.file1.txt test1219.11.file1.txt test1219.01.file2.txt test1219.10.file2.txt test1219.11.file2.txt 上記のようなファイル名のテキストファイルが存在したとします。 それでこのテキストファイルのうち、以下のファイルの内容を画面に表示したいと 考えています。 test1219.01.file1.txt test1219.10.file1.txt test1219.11.file1.txt 1219(今日の日付という意味), file1(一回目のファイルという意味)で 構成された上記のファイルを指定されたディレクトリ($dir)以下で 検索し上記のファイル名を取得し、また取得したファイルの中身を 表示するロジックを考えています。 ひとつのファイルを取得することはできたのですが、 複数となる(上記の場合は3つ当てはまることはわからないので 指定する日付などで取得ファイル数がかなりことなる)ため うまく書くことができません。 どなたかいいロジックなどをお持ちでしたら ぜひ伝授していただけたらと考えています。 どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイル検索のフリーソフト

    ファイル検索のフリーソフトを探しています。 なにをしたいのかといいますと、 ■[フォルダ0]の中 [フォルダ1] > [テスト_ベース] > Text.txt [フォルダ2] > [テスト] > Text.txt [フォルダ3] > [テスト] > Text.txt [フォルダ4] > [テスト] > Text.txt ">"は下位のフォルダです。 こういうフォルダ階層がありファイルがあったときに 検索したいフォルダは"[テスト_ベース] フォルダ"以外の"[テスト] フォルダ"内にある"Text.txt"です。 "[テスト_ベース] フォルダ"は検索しないで欲しいのです。 普通にWindowsの検索で 検索場所:[フォルダ0] 検索値:Text.txt として検索すると 必要なものは3つに対し、4つの検索結果が表示されてしまいます。 これを[テスト_ベース]のなかを除いた検索ができないものでしょうか? (検索除外フォルダ指定とか。) このようなものが大量にあり、一つ一つ除外していくのが大変ですので質問させていただきました。 なにか、フリーソフト、操作方法など。ご存知の方がいらっしゃいましたら教えていただけると非常に助かります。 よろしくお願いいたします。

  • ファイル名の検索について

    現在、あるフォルダの中に存在するテキストファイル名を列挙するソースを書いているのですが、よく分らない現象が出ていて困っています。 たとえば、デスクトップ上のtestというフォルダの中にa.txtと言うテキストファイルがあるとして、下記のプログラムを実行したところ、3回も検索されてしまいます。(メッセージボックスが"a.txt"で3回繰り返される) なぜ、このような現象が起ってしまうか、検討がつきません。何方か、心当たりがあるかた、ご教授願います。 開発環境 VC++2003, Win2000 pro sp4 <ソース> #defien FILE_PATH "C:/Documents and Setting/Administrator/デスクトップ/test/*.txt" HANDLE hFind; WIN32_FIND_DATA strW32fdata; char cMsg[ 256 ]; hFind = FindFirstFile( FILE_PATH, &strW32fdata); if( hFind != INVALID_HANDLE_VALUE ) { do { MessageBox( strW32fdata.cFileName, "file", MB_OK | MB_ICONINFORMATION ); }while( FindNextFile( hFind, &strW32fdata ) ); FindClose( hFind ); } よろしくお願い致します。

  • バッチファイル 現在のフォルダ名をファイル名に置き換える

    こんにちは。超初心者なのですが教えてください。 ある複数フォルダに格納されている.txtファイルを、現在の フォルダ名を取得して、別フォルダにリネームして 格納するバッチファイルを作成したいと考えています。 for文を繰り返し使わなければいけないことはわかっているのですが、それをどう表現していいのか全然わかりません。 例えば、 データ取得元として以下のファイルがあったら C:\temp\20100101\data1.txt C:\temp\20100101\data2.txt C:\temp\20100101\data3.txt C:\temp\20100102\data1.txt C:\temp\20100102\data2.txt C:\temp\20100103\data1.txt C:\temp\20100103\data2.txt これを別フォルダに、現在のフォルダ名をファイル名にくっつけて 以下のように一つのフォルダに纏めて格納したいと思っています。 ファイルの中身はそのままコピーしたいので、どこかでcopyコマンド を使うかもしれないです。 C:\test\data1_20100101.txt C:\test\data2_20100101.txt C:\test\data3_20100101.txt C:\test\data1_20100102.txt C:\test\data2_20100102.txt C:\test\data1_20100103.txt C:\test\data2_20100103.txt 実装方法として以下までは考えましたが、これ以上は無理そうです。 rem set A=C:\temp rem set B=C:\test for %%A in (C:\temp\) do ( if not "%%A"=="" ( pushd "%%A" for /d %%B in (*) do ( if not "%%B"=="" ( pushd "%%B" for /d %%C in (*) do ( if not "%%C"=="" ( pushd "%%C" ) ) ) ) popd? ) ) 申し訳ありませんが、お助け願います。

  • ファイル指定

    こんにちは。 UNIXでPHPを勉強しています。 ファイルの存在チェックをしたいのですが、 if(file_exists($file)){ としています。 $fileにはファイルチェックするファイルと同じディレクトリ内の workというフォルダのtest.txtファイル名を格納したいと考えています。 $fileには どのようにいれればいいのでしょうか? windowsだと $file="work\\test.txt"; でだいじょうぶなのですが・・・

    • ベストアンサー
    • PHP
  • ファイルコピーとコードの綺麗な書き方について

    質問です。 特定のファイル名を複数コピーする場合、 理想な処理はなんでしょうか? 1. IF文でファイルを確認してコピー処理 2. *.txtにファイル名を予め書き込んでおいて、   1行づつ読み込んで検索してコピー処理 など…、 コードが綺麗に見えて、尚且つ何処に何があるか オープンソースにした時他人がひと目で分かるような 処理構造とはなんでしょうか? あと If File.Exists("C:\test_A.txt") Then File.Copy("C:\test_A.txt", "D:\test_A.txt", True) Else If File.Exists("C:\test_B.txt") Then File.Copy("C:\test_B.txt", "D:\test_B.txt", True) Else MessageBox.Show("test_B.txt" & vbCr & vbCr & _ "ファイルが見つかりません。再度ダウンロードして下さい", "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If MessageBox.Show("test_A.txt" & vbCr & vbCr & _ "ファイルが見つかりません。再度ダウンロードして下さい", "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If と永遠に書いてると、何が何処にあるのか難しいです。 一つ一つの確認に~は無い。~はある場合はコピーというのしたいです。 このIF文も何らかの形で解りやすい処理方法に変更してくれれば 幸いです。 【回答お願い】 1. 最も綺麗に見えて他人からも理解出来て処理が   重くならない方法でコピーするコードを書くには? 2. 上記で記載したIF文を500行ぐらい書いています。   もっと綺麗に書く方法はありますか?

  • ColdFusionにて

    いま、ColdFusionで開発をしています。 下記のような簡単なものですが文字化けがおきています。 <HTML> <HEAD> <TITLE>テスト</TITLE> <CFCONTENT TYPE="text/html; charset=Windows-31J"> <CFCONTENT TYPE="text/html; charset=Shift_Jis"> </HEAD> <BODY> <FORM ACTION="Test.cfm" NAME="Test" METHOD="post" ENCTYPE="multipart/form-data"> <INPUT TYPE="Text" NAME="Txt" VALUE="<CFIF IsDefined("Txt")><CFOUTPUT>#Txt#</CFOUTPUT></CFIF>"> <INPUT TYPE="Submit" NAME="btn" VALUE="ボタン"> </FORM> </BODY> </HTML> 画面は、S_JISで表示しているのですが 全角文字を入力してボタンを押すと、全角文字が化けてしまいます。 原因等わかる方がいらっしゃいましたら教えてください。 出来れば、S_JISは変えないようにお願いします。

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

    ■[フォルダ0]の中 [保存1] >[フォルダ1] > [テスト] > Text.txt [保存1] >[フォルダ2] > [テスト] > Text.txt [保存1] >[フォルダ3] > [テスト] > Text.txt [保存1] >[フォルダ4] > [テスト] > Text.txt ">"は下位のフォルダです。 こういうフォルダ階層がありファイルがあったときに 一括で各Text.txtの名前を たとえば [保存1] >[フォルダ1] > [テスト] > Text.txt だったら、 "Text.txt" から "フォルダ1.txt"にしたいのです。 数階層上のフォルダ名を指定し、ファイル名にリネームしたいのですが、なにかよいフリーソフトはないでしょうか。 まとめると、 Windowsの検索機能後、ドラッグ&ドロップ、もしくはソフトの検索機能で変更したいファイル名を指定し、好きなフォルダ名を指定してファイル名に付加できるものがないかと思っています。 いままでリネームソフトにはNamery というソフトを使用してきたのですができませんでした。 どなたか、ご存知のソフトがありましたら、教えていただけると助かります。よろしくお願いいたします。

  • 読み込むテキストファイルが改行だけの場合について

    あるテキストファイルC:\test.txtが改行だけのファイルの場合、 下記のプログラムにおいて、.Read(1)で何が読み込まれるの でしょうか? Set myFso = CreateObject("Scripting.FilesystemObject") Set mytxt = myFso.OpentextFile("C:\test.txt", 1, 0) With mytxt Do While mytxt.AtEndOfStream <> True mystr = .Read(1) If mystr = "" Then j = 0 End If Loop .Close End With Set mytxt = Nothing

  • バッチファイルで複数フォルダのファイルを結合したい

    バッチファイルで複数フォルダの中にあるlist.txtというテキストファイルを結合するにはどのように記述すればよいでしょうか。 具体的には、 複数のフォルダがあり、 C:\test\202104026\list.txt C:\test\202104025\list.txt      : C:\test\20000101\list.txt というような感じで、 各フォルダの中にlist.txtというファイルが入っています。 list.txt以外にもいろいろなファイルが入っています。 各フォルダの中のlist.txtファイルの内容を結合した1個のファイルを生成するバッチファイル(test.bat)を教えてください。 よろしくお願いします。(Windows10)

専門家に質問してみよう