- 締切済み
フォルダの下のファイルを検索
VBscripで次のようなことを実現させたいと思っています。 複数のフォルダが格納されているフォルダAがありその構造は *A----*AA---*AAA---ファイル(1) | |--ファイル(2) | |-*BB---*BBB---*BBBB---ファイル(3) | |--ファイル(4) | |-*CC---*CCC---*CCCC-*CCCCC---ファイル(5) | |---ファイル(6) | |---ファイル(7) |----*D |----*E となっています。 注)フォルダ名は仮です。*はフォルダにつけてあります。 このとき、フォルダAから検索を始めて ファイル名の○数字の偶数と奇数のファイルを分けて 奇数のファイルをフォルダD、偶数のファイルをフォルダBに 仕分ける動作をさせたいです。 ちなみにファイル名は「○○_1.txt」のように命名されています。 このときの仕分け方とプログラムがいまいちわかりません。 ご教授いただけると助かります。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
1.配列を1つ用意し、所定フォルダの内容物をすべて(フォルダもファイルも)書き込む。 2.配列を頭から読み、それがフォルダであれば、その内容をすべて(フォルダもファイルも)配列に書き込む。 ファイルであれば名前で分類先を判断して移動(コピー?)させる。 以上(でできませんか?)
- imogasi
- ベストアンサー率27% (4737/17069)
>仕分け方とプログラムがいまいちわかりません こつこつやるより他ないと思うよ。 こういうのはデータ構造で説明のある「木構造」だと思う。 それも多分木構造。大學の情報学科の勉強問題だと思う。大丈夫ですか。 レベルAでのサブフォルダを全て配列にでも記憶し、BBに入り・・結局木構造の先端の「葉」まで至り、先がない場合いの深さが1つ浅いところに戻り、そこの「葉」に下る。ノードまで戻る・下るの重複なき繰り返しをやる必要あり。 そういうものの本をしっかり読むこと。「木(構造)探索」。 一般論では相当ややこしい。不要な「枝」は極力刈ってしまうことで簡素化を図ることです。再帰プログラムの題材になっているようだが その方法では難しいから、再帰以外の方法になると思うが。 WEBには情報が沢山あるからまず読むこと。 >○数字の偶数と奇数のファイルを分けて 奇数のファイルをフォルダD、偶数のファイルをフォルダBに 仕分ける動作をさせたいです。 こういうのはフォルダ名文字列を文字列と数字部分に分ければよいだけで、瑣末な問題 >仕分ける動作をさせたいです。 仕分けて、コピーを作るのか、所在フォルダを変えてしまうのか、質問では、はっきり書く必要はある。 ーー UNIXのlsコマンドなど(WEB照会して)も参考に。
- HIROs-NET
- ベストアンサー率78% (15/19)
まずはファイル名の○○は2文字固定でしょうか? 1)固定であるならば、ファイル名を取得した時に、先頭から2文字切り出す 固定でないのであれば "_" の手前までを切り出すようにする 2)切り出した2文字を2で割ってみて余りが出なければ偶数と判断、余りがあれば奇数と判断(MODを使用) If CInt(○○) MOD 2 = 0 Then '偶数なのでフォルダBへ移動 Else '奇数なのでフォルダDへ移動 End If といった感じでしょうか