{---プログラム掲示板投稿フォーム--- 【ソフト名】ファイルコピー・移動の友(バージョン 1.00) 【作 成 者】hmaro 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.26 【転 載】可 ご自由に 【改変運用】可 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】有 Copier.ini プログラムが作ってくれるので、持っている必要はありません。 【コメント】 実行してみれば、すぐに使い方が解ると思います。基本的に、今日から何日以内に作られたファイルを、ある特定のフォルダから、他のフォルダに、移動したり、コピーしたりします。どのような形式のファイルを移動・コピーするがも、ユーザが設定できます。また、頻繁に使う設定は、ディフォルトとして設定することも可能です。 ちょっとおもしろい機能としては、ファイルの保存先に、説明ファイルを書いたり出来ます。また、設定メニューにある、「保存元 ←→ 保存先」を使うと、保存先と保存元が、入れ替わります。 この、特定期日以内のファイルをリストアップする方法は、掲示板でmokaさんにお世話になりました。基本的なルーチーンは、mokaさん作成のものをそのまま使用しています。 基本的には、自分の日々の仕事を楽にするために作っていました。しかし、プログラム板に載せるので、多少は汎用性を持たせたつもりです。感想まってます!
ファイルは、---投稿フォームここまで---} *初期値 実行flag=0 MyFolder=『C:\My Documents\』 '保存したいフォルダの設定。 日付=7 '今日から、何日前までのファイルをコピーするかの設定。 形式=『*.txt』 'ファイルの形式の設定。 保存場所=『A:\』 '保存場所のフォルダの設定。
ディフォルト設定イベントを、呼ぶ。 'フォームの設定 母艦の、サイズは、(187,156,827,537)。 その、タイトルは、「ファイルコピー・移動」。 灰色で、画面クリア。
'メニューの設定 Settingを、メニュー作成。 その、テキストは、「設定(&S)」。 Settingに、現在の設定をディフォルトにするを、メニュー追加。 現在の設定をディフォルトにするの、イベントを、( 「現在の設定をディフォルトにします。 よろしいですか?」と、二択。 もし、それが、いいえならば、戻る。 「実行flag=『{実行flag}』 MyFolder=『{MyFolder}』 日付=『{日付}』 形式=『{形式}』 保存場所=『{保存場所}』」を、母艦のパス&「Copier.ini」へ、書く。)に、設定。
Settingに、ディフォルト設定に戻すを、メニュー追加。 ディフォルト設定に戻すの、イベントを、( ディフォルト設定イベントを、呼ぶ。 'Copier.iniを実行する 現在設定イベントを、呼ぶ。 'ステータスメモに反映させる コピーか移動か初期イベントを、呼ぶ。 日付エディタは、日付。 '日付エディタとコンボにも、反映させる。 形式コンボは、形式。 )に、設定。
Settingに、SwitchSDを、メニュー追加。 '保存元と保存先のフォルダーを入れ替えます その、テキストは、「保存元 ←→ 保存先」。 SwitchSDの、イベントを、( TempDir=「」。 TempDir=MyFolder。 MyFolder=保存場所。 保存場所=TempDir。 現在設定イベントを、呼ぶ。 )に、設定。
Settingに、区切り線メニューを、メニュー追加。 その、テキストは、「-」
Settingに、コピーか移動かを、メニュー追加。 その、テキストは、「ファイル移動に設定する」。 コピーか移動かの、イベントを、( コピーか移動かイベントを、呼ぶ。 )に、設定。
'様々な部品を設定する 日付エディタを、エディタとして、作成。 その、サイズは、(20,20,110,45) 日付エディタは、日付。 その、変更した時は、( 日付エディタが、数字か。 もし、それが、いいえならば、戻る。 日付=日付エディタ。 現在設定イベントを、呼ぶ。 )
(120,25)へ、移動。「日前までの」と、表示。
形式コンボを、コンボとして、作成。 その、サイズは、(260,20,360,50) 形式コンボの、アイテムを、「すべての\n*.doc\n*.hmw\n*.htm\n*.html\n*.jpg\n*.jtd\n*.nso\n*.pdf\n*.pfw\n*.txt」に、設定 形式コンボは、形式。 その、変更した時は、( もし、形式コンボが、「すべての」なら、形式コンボ=「」 形式=形式コンボ。 現在設定イベントを、呼ぶ。 )
(370,25)へ、移動。「形式のファイル」と、表示。
どこからボタンを、ボタンとして、作成。 その、サイズは、(20,70,160,110) その、イベントは、(フォルダ選択。もし、それが、「」ならば、戻る。MyFolderは、それ。 現在設定イベントを、呼ぶ。 )
どこへボタンを、ボタンとして、作成。 その、サイズは、(260,70,400,110) その、イベントは、(フォルダ選択。もし、それが、「」ならば、戻る。保存場所は、それ。 現在設定イベントを、呼ぶ。 )
(200,83)へ、移動。「→」と、表示。
ステータスメモを、メモとして、作成。 その、サイズは、(20,130,620,280) その、スクロールバーは、縦。
説明ファイル追加チェックを、チェックとして、作成。 説明ファイル追加チェックの、値を、オンに、設定。 その、テキストは、「説明ファイルを保存先に追加」 その、サイズは、(20,300,290,350)
コピー実行ボタンを、ボタンとして、作成。 その、テキストは、「コピー実行」。 その、サイズは、(430,300,620,350) その、イベントは、実行開始イベント。
コピーか移動か初期イベントを、呼ぶ。 現在設定イベントを、呼ぶ。 待機。
*実行開始イベント MyFolder&形式の、ファイル列挙。
ファイル一覧=それ ファイル結果=「」 ファイル数=0 'ファイルの数の初期設定 反復( (MyFolder&ファイル一覧#(回数-1))の、ファイル日時。'日付&時間を得る。 「 」までを、切り取る。'日付だけ得る。 ファイル日付#(回数-1)=それ 今日と、それの、日数差。 もし、それ<日付ならば、('日付前までの更新ファイルを得る。 ファイル結果=「{ファイル結果}{ファイル一覧#(回数-1)}:{ファイル日付#(回数-1)}\n」 ファイル数=ファイル数+1。 ) ) ステータスメモ=ステータスメモ&「\n◎ 実行中です ◎\n」&ファイル結果。 0.3秒、待つ。
Fsize=0 'ファイルサイズの初期設定
*コピー開始イベント ファイル結果を、反復する( 「:」までを、切り取る。 もし、実行flag=0ならば、( (MyFolder&それ)から、(保存場所&それ)へ、ファイルコピー。) もし、実行flag=1ならば、( (MyFolder&それ)から、(保存場所&それ)へ、ファイル移動。) (MyFolder&それ)の、ファイルサイズ Eachは、それ。 '個々のファイルサイズ Fsize=Fsize+Each。 )
もし、Fsizeが、1048576以下なら、(切り捨て((Fsize÷1024), 2)。Fsize=それ&「Kb」。) 違えば、(切り捨て((Fsize÷1048576), 2)。Fsize=それ&「Mb」。)
'コピーが終了したら、結果をステータスメモに反映させる。 ステータスメモ=ステータスメモ&「ファイル数={ファイル数}\n総ファイルサイズ={Fsize}\n◎ コピー終了 ◎\n」。
'説明ファイル追加チェックがオンなら、ファイルの説明.txtを作成する。もし既にそのファイルがあれば追加する。 *ファイルの説明ファイル作成イベント もし、説明ファイル追加チェックが、オンならば、( Head=「★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ {今日}から、その{日付}日前までの、 {MyFolder}にある、{形式}形式のファイル ファイル数={ファイル数} 総ファイルサイズ={Fsize} ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n」 保存場所&『ファイルの説明.txt』が、存在するか。 もし、それが、はいならば、(「\n\n」&Head&ファイル結果を、保存場所&『ファイルの説明.txt』へ、追加保存。)。 違えば、(Head&ファイル結果を、保存場所&『ファイルの説明.txt』へ、書く。)。 ) 待機。
'現在の設定を、ステータスメモに反映させるイベント。 *現在設定イベント ステータスメモは、「●●●●●●● 現在の設定 ●●●●●●● ★ {今日}から{日付}日前までの、{形式}形式ファイル ★ 対象:{MyFolder} ★ 保存先:{保存場所}」 戻る。
'ディフォルト設定ファイルである、Copier.iniを読み込んで、ひまわりする。 *ディフォルト設定イベント 母艦のパス&「Copier.ini」が、存在するか。 'ディフォルトファイルがあれば、実行 もし、それならば、(母艦のパス&「Copier.ini」を、開く。 それを、ひまわりする。 ) 戻る。
'これは、設定を変えたときに呼ばれます。 *コピーか移動かイベント もし、実行flag=0ならば、( 実行flag=1 コピーか移動かの、テキストは、「ファイルコピーに設定する」。 コピー実行ボタンの、テキストは、「ファイル移動実行」。 戻る。 ) もし、実行flag=1ならば、( 実行flag=0 コピーか移動かの、テキストは、「ファイル移動に設定する」。 コピー実行ボタンの、テキストは、「コピー実行」。 戻る。 )
'これは、設定を変えないときに呼ばれます。 *コピーか移動か初期イベント もし、実行flag=0ならば、( コピーか移動かの、テキストは、「ファイル移動に設定する」。 コピー実行ボタンの、テキストは、「コピー実行」。 戻る。 ) もし、実行flag=1ならば、( コピーか移動かの、テキストは、「ファイルコピーに設定する」。 コピー実行ボタンの、テキストは、「ファイル移動実行」。 戻る。 )
|