出来上がったスクリプトの名前は、以下のような仕様です。 BK_ドライブ_パス.vbs パスの部分は、スペースを除いて \ を _ に変更しています。この名前でディレクトリがスクリプトのあるディレクトリに作成されてファイルが XCOPY でコピーされます。 スクリプトの名前を変更すると、コピー先(スクリプトがあるディレクトリ)のディレクトリ名も変更されます。 XCOPY は、新しいファイルのみをディレクトリ以下全てコピーします。
' *********************************************************** ' 処理開始 ' *********************************************************** Set Fso = Wscript.CreateObject( "Scripting.FileSystemObject" ) Set Shell = Wscript.CreateObject( "Shell.Application" ) ' *********************************************************** ' 実行中ディレクトリの取得 ' *********************************************************** strPath = Wscript.ScriptFullName Set objFile = Fso.GetFile( strPath ) strBackupFolder = Fso.GetParentFolderName( objFile ) ' *********************************************************** ' バックアップ対象ディレクトリの取得 ' *********************************************************** ' マイ コンピュータを基準にディレクトリ選択 Set objFolder = Shell.BrowseForFolder( 0, "バックアップするフォルダを選択してください", &H4B, _ "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" ) if objFolder is nothing then WScript.Quit end if if not objFolder.Self.IsFileSystem then WScript.Echo "ファイルシステムではありません" WScript.Quit end if strTargetFolder = objFolder.Self.Path strName = Replace( strTargetFolder, ":", "" ) strName = Replace( strName, "\", "_" ) strName = Replace( strName, " ", "" ) strName = "BK_" & strName ' *********************************************************** ' スクリプト作成 ' *********************************************************** Set OutFile = Fso.OpenTextFile( strBackupFolder & "\" & strName & ".vbs", 2, True ) OutFile.WriteLine "strName = """ & strName & """" OutFile.WriteLine "strTarget = """ & strTargetFolder & """" OutFile.WriteLine "strBackupFolder = """ & strBackupFolder & """" OutFile.Write "if MsgBox( strTarget & vbCrLf & ""のバックアップを開始します。よろしいですか? (保存先:"" & strBackupFolder & ""\"" & strName & "")""" OutFile.WriteLine ", 1 ) = 2 then" OutFile.WriteLine " Wscript.Quit" OutFile.WriteLine "end if" OutFile.WriteLine "Set WshShell = Wscript.CreateObject( ""WScript.Shell"" )" OutFile.Write "ExecCommand = ""cmd.exe /C """"xcopy.exe """""" & strTarget & """""" """""" & strBackupFolder & ""\"" & strName & ""\""""" OutFile.WriteLine " /D /E /C /S /Y & PAUSE""""""" OutFile.WriteLine "Call WshShell.Run( ExecCommand )" OutFile.Close WScript.Echo "バックアップスクリプト : " & strName & ".vbs" & " を作成しました"
関連する記事 ディレクトリごと新しいファイルのみをコピーする XCOPYで新しいファイルのみバックアップする為のスクリプトを作成するスクリプト ディレクトリ選択
|
【VBScriptの最新記事】
- 【VBS】WshShell.Runによる外部プログラムの実行のバリエーションと注意事項
- VBScript で GUID 生成
- Windows 標準の CDO.Message で(GmailまたはYahoo!メールを使って)簡単にバッチ処理からメールを送る
- バッチ処理の為の .wsf スケルトン / cscript.exe での実行を強制する / 自分自身の呼び出し
- 【VBS + Excel】シンプルな詳細設計書のフォーマット。1) Excel のダウンロード、2) VBScript で作成するサンプル
- VBScript : CAPICOM を使った通常文字列の Base64エンコードと SHA1 と MD5 と SHA256/384/512
- 【VBS汎用】SHIFT_JISデータを各種キャラクタセットのテキストファイルへ変換
- VBScript : デスクトップの列挙
- Excel シートから Basp21 を使用してメールの送受信をして、今後の何かに役立てる
- VBScript + clipコマンド + レジストリ登録で、エクスプローラのディレクトリの右クリックでファイル名のリストをクリップボードにコピーできるようにする
- VBScript(WMI) : OSの情報をコマンドプロンプトに一覧で表示する
- VBScript(WMI) : 共有一覧
- IE のお気に入りディレクトリにあるファイルの表示・非表示を設定する / HTA(HTML アプリケーション)
- VBScript : ディレクトリ内のディレクトリで使用している容量一覧
- VBScript(WMI) : システム環境変数の変更を監視する event_change_reg.wsf
- VBScript : スクリプトが存在するディレクトリをユーザ環境変数の PATH へ登録
- XMLファイルの書き換え (VBScript)
- VBScript から実行する PHPコードの PDF処理のサンプル
- Cscript.exe の引数と、Windows Script Host を無効にするレジストリ設定
- Access.Application ( docmd.TransferText ) でエクスポートとインポート