【AutoIt】指定した場所にフォルダーを自動作成する

今回は、AutoIt を使った自動化の第一歩として、指定したパスにフォルダーを自動で作成するスクリプトを紹介します。

単純な処理ですが、バックアップ用のフォルダーを日付ごとに作成したり、新しいプロジェクトの定型フォルダーを一瞬で準備したりと、様々な場面で応用できる非常に重要なコマンドです。

目次

実行するスクリプトの概要

このスクリプトは、実行すると指定した場所に新しいフォルダーを作成します。

例えば、「C:\AutoIt_Test」というフォルダーを作りたい場合、このスクリプトを使えば一瞬で作成できます。

もし同じ名前のフォルダーが既に存在している場合は、何もせずに(エラーにもならずに)正常に終了します。この「既にあってもエラーにならない」という点が、実用上とても便利です。

#include <MsgBoxConstants.au3>
; ### 設定項目 ###
; ここに作成したいフォルダーのフルパスを記入します。
Local $sCreateFolderPath = "C:\AutoIt_Test"
; ### メイン処理 ###
; DirCreate関数を使ってフォルダーを作成します。
DirCreate($sCreateFolderPath)
; フォルダーが実際に存在するかどうかを確認します。
If FileExists($sCreateFolderPath) Then
    ; 成功した場合のメッセージボックス
    MsgBox($MB_OK, "成功", "フォルダーが正常に作成されました。" & @CRLF & "パス: " & $sCreateFolderPath)
Else
    ; 失敗した場合のメッセージボックス
    MsgBox($MB_ICONERROR, "失敗", "フォルダーの作成に失敗しました。")
EndIf

コードの詳しい解説

#include <MsgBoxConstants.au3>

これは、MsgBox 関数(メッセージボックスを表示する関数)で使う定数($MB_OK など)をあらかじめ読み込んでおくための記述です。おまじないのようなものだと考えてください。

Local $sCreateFolderPath = “C:\AutoIt_Test”

「Local」は、このスクリプトの中だけで使う変数を宣言する命令です。変数とは、データを入れておくための「箱」のようなものです。

ここでは、$sCreateFolderPath という名前の変数を用意し、その中に作成したいフォルダーのパスである文字列 "C:\AutoIt_Test" を入れています。

この行を書き換えるだけで、好きな場所にフォルダーを作成できます。

例えば、デスクトップに「MyTool」というフォルダーを作りたければ、以下のように書き換えます。

Local $sCreateFolderPath = @DesktopDir & "\MyTool"

(@DesktopDir はAutoItに初めから用意されている、デスクトップのパスを示すマクロです)

DirCreate($sCreateFolderPath)

これがフォルダーを作成する本体の関数です。

DirCreate 関数は、引数(ひきすう)として渡されたパスのフォルダーを作成します。今回は、変数$sCreateFolderPathの中身、つまり"C:\AutoIt_Test"を渡しているので、そのパスにフォルダーが作成されます。

この関数の優れた点は以下の 2つです。

  1. 既にフォルダーが存在していてもエラーにならない。
  2. 途中のフォルダーが存在しなくても、全て自動で作ってくれる。 (例:C:\A\B\Cと指定した時に、「A」も「B」も存在しなくても、全て作成してくれる)

If FileExists($sCreateFolderPath) Then … Else … EndIf

最後のこの部分は、フォルダーが本当に作成されたかを確認し、結果をメッセージボックスで表示するための処理です。

FileExists() 関数は、指定したパスにファイルやフォルダーが存在するかをチェックする関数です。

存在すれば「True (真)」、存在しなければ「False (偽)」を返します。

  • If FileExists(...) Then: もしフォルダーが存在するなら(作成に成功したなら)
    • MsgBox(...)で成功メッセージを表示します。
  • Else: そうでなければ(作成に失敗したなら)
    • MsgBox(...)で失敗メッセージを表示します。

@CRLFは改行を意味するマクロです。

まとめ

今回は、DirCreate 関数を使ってフォルダーを自動作成する方法を解説しました。

たった 1行の関数ですが、他の処理と組み合わせることで、「今日の日付のフォルダーを作って、そこにバックアップファイルをコピーする」といった、より実用的な自動化処理の基礎となります。

まずはこのコードを元に、色々なパスを指定してフォルダーが作れることを試してみてください。

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次