2022-07-25 14:41:25
Re④:ファイル名と同じ名前のフォルダを複数作成したい
雪乃☆雫 さん 表題の件だけでなく、ファイル移動、そしてフォルダの中に更にフォルダ作成について、 詳しく記載頂きまして、ありがとうございました。 手作業で行う手間がなくなり、一瞬で希望通りの処理ができました。 いつも、分かりやすくお返事頂き、勉強になります。 ありがとうございました。 あっ、ファイルを移動するなら、フォルダは先に作らなくても大丈夫ですよ~。
ファイル移動は、移動先のフォルダが存在しなければ作成されます。 そして、ファイル移動の引数は、A,Bともにフォルダではなくパス付きのファイル名なんです。 なので、引数Aは、対象フォルダではなく、「{対象フォルダ}{対象}」としなきゃなりません。(この反復の「対象」には、ファイル名(AAAAAAAABxxxxxx.xlsとか)が入っていますよね) そして引数Bは、「対象の9から3文字抜き出し」が新しく作られる移動先のフォルダ名となるので、「{対象フォルダ}{対象の9から3文字抜き出し}\{対象}」ということになります。 次に「フォルダ作成」ですが、引数は作成したいフォルダのパスなので、「OLD」とゆう名前のフォルダを作りたいよ!ってことならば、「OLD」とゆう文字列を与えなければなりません。文字列なので、「」で括ります。 前の、(対象の9から3文字抜き出し)のフォルダ作成。 の場合は、文字列ではなく命令の返り値を与えているので「」はいりません。そして()で括っているのは見やすさと念のため?でした。 そして、フォルダ作成でフォルダが作成されるのは作業フォルダ(カレントディレクトリ)です。 先に作業フォルダを対象フォルダ({デスクトップ}test\)にして、BやCやDのフォルダを作っているので、単に「OLD」のフォルダ作成、とやるとOLDフォルダも対象フォルダに作られちゃいます。 新しくつくられたBやCやDそれぞれの中に作りたいので、そのパスも指定しなきゃなりません。 で、こんなかんじですかねー? #------------------------------------------------------- 新フォルダ=対象の9から3文字抜き出し。 「{対象フォルダ}{対象}」から「{対象フォルダ}{新フォルダ}\{対象}」へファイル移動。 「{新フォルダ}\OLD」のフォルダ作成。 #------------------------------------------------------- |