なでしこWEB > マニュアル > 定型処理編
なでしこ
定型処理編〜ファイルのバックアップ
ファイルのコピー
今度はファイルのコピーなどファイルのバックアップを取る方法を覚えましょう。
→『10行プログラミング』でも重要データのバックアップについてコラムを書きました。
単純にファイルをコピーするには以下のように書きます。これだけなら簡単です。
「ファイルA」を「ファイルB」へファイルコピー
ただし、WINDOWSでは、ファイルAを指定するのが極端に面倒なんです。マイドキュメントにある「a.txt」をデスクトップへコピーしてみましょう。
「C:\Documents and Settings\上司\My Documents\a.txt」「C:\Documents and Settings\上司\デスクトップ\a.txt」へファイルコピー。
うわぁ。「a.txt」がどうして「C:\Documents and Settings\上司\My Documents\a.txt」なんて長い名前になるんですか?というかこの意味不明な文字はなんですか?
ファイル名の指定をよくみてください。先頭に「c:\」という文字がありますね?これが「Cドライブ」を表しています。そして、それに続く「\」記号までの部分「Documents and Settings」がフォルダの名前です。パソコンによってマイドキュメントの場所は違うのですが、「C:\Documents and Settings\上司\My Documents\」というのが私のパソコンのマイドキュメントを表すパス(*1)です。長いでしょう?
そこで、なでしこでは、マイドキュメントを『マイドキュメント』という名前の変数で表せるようになっています。デスクトップも同様です。これを使えば、上の長いプログラムが下のようにすっきりしたものになります。
「{マイドキュメント}a.txt」を、
「{デスクトップ}a.txt」へ、ファイルコピー。
これなら、だいぶ短くなって、人間が読めるレベルになりましたね。
ワイルドカードを使ってコピー
1つだけのコピーなら、プログラムを書くより手作業でコピーしたほうが早いのですが、ワイルドカードを使うと複数のファイルを一気にコピーすることができるようになります。

以下のプログラムは、マイドキュメントにある拡張子が「.txt」のファイルをデスクトップにコピーするというものです。
「{マイドキュメント}*.txt」を、
デスクトップへファイルコピー。
もし、エクセルのファイルだけをコピーしたい場合は同様に「*.txt」の部分をエクセルの拡張子である「*.xls」に変えて以下のようにします。
「{マイドキュメント}*.xls」を、
デスクトップへファイルコピー。
圧縮してコピー
なでしこでは、圧縮の処理も簡単に記述できるようになっています。『AをBへ圧縮』とこれだけです。
ファイルコピーのときと同じように書けばOKです。
以下のプログラムはマイドキュメントの内容を全部圧縮してデスクトップの「backup.lzh」というファイルへ圧縮します。
マイドキュメントを、
デスクトップ&「backup.lzh」へ圧縮。
圧縮する場合は、必ず、圧縮先のファイルを「xxx.lzh」のように、拡張子を「.lzh」にする必要があります。
ZIPやCABに圧縮してコピー
もし、LZH形式ではなく、ZIPやCAB形式で圧縮したい場合は、まず、以下のWEBサイトから7-zip32.dllとcab32.dllを入手します。
7-zip32.dll: http://www.csdinc.co.jp/archiver/lib/7-zip32.html
cab32.dll: http://www.csdinc.co.jp/archiver/lib/cab32.html
そのあとは、LZHと同じです。ただ、圧縮先のファイル名を、「xxx.zip」や「xxx.cab」にするだけです。
# ZIP形式
マイドキュメントを、
デスクトップ&「backup.zip」へ圧縮。
# CAB形式
マイドキュメントを、
デスクトップ&「backup.cab」へ圧縮。

次のページ→ネットワークについて
前のページ←文字列の整形
なでしこWEB > マニュアル > 定型処理編