SSHFS(SSH File System)は、SSH(Secure Shell)を利用してリモートファイルシステムをローカルマシンにマウントするための強力なツールです。本記事では、SSHFSの概要、利点、導入手順、注意点について詳しく説明します。 導入手順については、WindowsのWSL環境経由での構成を前提としています。WSL環境とSSHサーバー環境があることを前提とします。WSLで選択できるディストリビューションは複数ありますが、ここでは既定のUbuntuを想定しています。 ※ WinSCPなどのフリーウェアを使用しなくても、エクスプローラー操作は可能です SSHFSとは? SSHFS…
ローカルコンピュータで使用できるドライブオブジェクトのコレクションを取得するには Drives プロパティを使う。 fso.Drives 以下のスクリプトは、ローカルコンピュータで使用できるドライブを出力する。 Dim drive For Each drive In fso.Drives WScript.Echo drive.Path Next ↓ 出力結果イメージ C: D: E:
ドライブオブジェクトを取得するには GetDrive メソッドを使う。 Dim drive Set drive = fso.GetDrive( DriveSpec ) DriveSpec には取得するドライブを指定する。 戻り値としてドライブオブジェクトが返る。 存在しないドライブを指定、あるいはフォルダやファイルのパスを指定した場合、実行時エラーが起きる。
ドライブが存在するか確認するには DriveExists メソッドを使う。 fso.DriveExists( DriveSpec ) DriveSpec にはドライブ文字を指定する。 ドライブが存在する場合は True 、そうでない場合は False が返る。 引数に指定するのは、ドライブ文字だけにすること。 次の書き方であれば True が返る。 fso.DriveExists("C") fso.DriveExists("C:") fso.DriveExists("C:\") パスを指定してしまうと False が返る。 そのパスのドライブが存在したとしても False 。 fso.Driv…
フォルダを作成するには CreateFolder メソッドを使う。 Dim newFolder Set newFolder = fso.CreateFolder( Path ) Path には作成するフォルダのパスを指定する。 戻り値は作成されたフォルダのオブジェクト。 すでに存在するパスを指定すると実行時エラーが起きる。
フォルダを削除するには DeleteFolder メソッドを使う。 フォルダ内のコンテンツ有無は関係なしに削除される。 fso.DeleteFolder( FolderSpec [, Force]) FolderSpec には削除するフォルダのパスを指定する。 存在しないフォルダを指定した場合は実行時エラーが起きる。 Force に True を指定すると読み取り専用であっても削除する。 False の場合は削除しない。 既定値は False 。
フォルダを移動するには MoveFolder メソッドを使う。 fso.MoveFolder( Source, Destination ) Source には移動元フォルダのパス、Destination には移動先のパスを指定する。 移動先がすでに存在する場合は実行時エラーが起きる。
フォルダをコピーするには CopyFolder メソッドを使う。 fso.CopyFolder( Source, Destination [, OverWriteFiles] ) Source にはコピー元フォルダのパス、Destination にはコピー先のパスを指定する。 OverWriteFiles に True を指定した場合、コピー先がすでに存在するときは上書きされる。 False を指定した場合、実行時エラーが起きる。 既定値は True 。
特殊フォルダを Folder オブジェクトとして取得するには GetSpecialFolder メソッドを使う。 Dim folder Set folder = fso.GetSpecialFolder( SpecialFolder ) SpecialFolder には取得したい特殊フォルダを表す値を指定する。 以下の3種類のいずれかが指定できる。 0(定数: WindowsFolder) → Windows フォルダ 1(定数: SystemFolder) → System フォルダ 2(定数: TemporaryFolder) → Temp フォルダ 戻り値としてフォルダオブジェクトが返る…
指定したフォルダパスのフォルダを Folder オブジェクトとして取得するには GetFolder メソッドを使う。 Dim folder Set folder = fso.GetFolder( FolderPath ) FolderPath には取得するフォルダのパスを指定する。 戻り値としてフォルダオブジェクトが返る。 存在しないパスを指定した場合、実行時エラーが起きる。