Autoit 入門書

Autoit の基礎 – ファイルの削除、フォルダの作成と削除

プログラミングをする上でファイルの削除、フォルダの作成と削除も必要になってくると思います。

ここではファイルの削除、フォルダの作成と削除方法、削除する際の注意事項を説明します。

ファイルの削除、フォルダの作成と削除

ファイルとフォルダーの削除

ファイルを削除する関数は 2つあります。

FileDelete 関数と FileRecycle 関数です。

形式:FileDelete ( “削除するファイルのパス” )

返し値:成功すると「1」、失敗すると(ファイルが削除できない場合、存在しない場合)「0」を返します。

形式:FileRecycle ( “ごみ箱に移動するファイルまたはフォルダーのパス” )

返し値:成功すると「1」、失敗すると(ファイルが使用中または存在しない場合)「0」を返します。

この 2つの関数では、ファイルに対してワイルドカードを使用することが出来ます。

ワイルドカードとは、「*.tmp」というように、拡張子の前にアスタリスク (*)を付けたものであり、「*.tmp」であれば拡張子が「.tmp」のファイルすべてを表します。

ファイル、フォルダーの削除を試す場合は必ずテストフォルダーを作成し、その中に削除対象のファイルまたはフォルダーを作成して実行してください。
決して今現在あるファイルで試したりしないように注意してください。
システムファイルなど大事なファイルを削除してしまうとシステムが起動できなくなる場合があります。

FileDelete("D:\*.tmp"); Dドライブ下の拡張子「.tmp」のファイルをすべて削除します。
FileRecycle("D:\*.tmp"); Dドライブ下の拡張子「.tmp」のファイルをすべてごみ箱に移動します。
FileDelete(@DesktopDir & "\test.txt"); デスクトップにある「test.txt」を削除します。
FileRecycle(@DesktopDir & "\test"); デスクトップにある「test」というフォルダーをごみ箱に移動します。

FileDelete 関数はファイルに対応し、FileRecycle 関数はファイルとフォルダーに対応しています。

例えば次のように FileDelete 関数でフォルダーを指定すると、指定したフォルダー下のファイルがすべて削除されます。

FileDelete(@DesktopDir & "\test"); デスクトップにある「test」というフォルダー下のファイルをすべて削除します。

フォルダーの中にサブフォルダーがある場合、サブフォルダー下のファイルは削除されません。

フォルダーの作成

フォルダーを作成するには、DirCreate 関数を使用します。

形式:DirCreate ( “作成するフォルダーのパス” )

返し値:作成に成功すると「1」、失敗すると「0」を返します。

DirCreate(@DesktopDir & "\test"); デスクトップに「test」というフォルダーを作成します。

フォルダーの削除

フォルダの削除には DirRemove 関数を使用します。

形式:DirRemove ( “削除するフォルダのパス” [, フラグ] )

フラグ:

  • 0 = (デフォルト) ファイルとサブフォルダを削除しません
  • 1 = ファイルとフォルダを削除します(DOSのDelTreeコマンドと同様)

返し値:削除に成功すると「1」、失敗すると「0」を返します。


DirRemove(@DesktopDir & "\test", 1); デスクトップにある「test」フォルダーとその中の全てのフォルダ・ファイルを削除します。

次のコードはデスクトップにある「test」フォルダーを削除しますが、フラグを指定していませんので、デフォルトの「0」となり、削除対象のフォルダーの中に何かファイルやフォルダーが存在する場合、削除に失敗します。

; デスクトップにある「test」フォルダーを削除します。
$test = DirRemove(@DesktopDir & "\test")
If Not $test Then
    MsgBox(16, "エラー", "削除できませんでした。 返し値「" & $test & "」")
Else
    MsgBox(0, "C:\test を削除しました。", $test)
EndIf
DirRemove のフラグが「0」の場合、「test」フォルダーが空でないと削除できない

フラグ「1」を指定すると、フォルダーごと中身が入っていようとすべて削除されます。

上でも説明したように、ファイル、フォルダーの削除を試す場合は十分に注意してください。

コメント