◇ フォルダにあるファイルを一度にコピーしたい
Q:copyfile 関数では、コピーを一つずつしなければなりませんし、ファイル名が予めわかっていないと使えません。「フォルダにあるファイルを全部コピー」といったことはできませんか?
A:KMmacro 自体にはその機能はありませんが、Windows の「コマンドプロンプト」で使うコマンド(昔風に言うと「Dos コマンド」)を使えば可能です。例えば「"c:\data file"フォルダにある、拡張子が INI のファイルすべてを、"d:\temp" にコピーする」のであれば、
exec (& "cmd.exe /c copy ""c:\data file\*.INI"" d:\temp") ; cmd.exe がコマンドプロンプトの実体。「/c」オプションを使うと、Copy を終えた後、cmd.exe自体も終了する。
とします。各コマンドの使い方については、詳しいサイトなどを検索してください。
なお、"〜" の中で「"」を意味させるには、は「""」と二つ連続させなければならないので、気を付けてください。
Dos コマンドを使えば、ファイル一覧の出力、ファイルの一斉削除・移動、フォルダごとの削除、といったことができます。うまく使えば便利な反面、下手に間違えると「大事なファイルを全部削除してしまった」なんてことも起こりがちです(OS が MS-DOS だったころパソコンを使っていた人なら、身に覚えがあるかもしれません)。特にこういったコマンドラインの処理になれていない方は、慎重に使ってください。