質問 |
||
| 質問者:samakichi | WSHでバックアップを行いたい | |
|---|---|---|
困り度:
|
ActiveDirectoryでサーバを運用しています。 Mydocumentをサーバにリダイレクトし、排他的権限によりユーザ自身からしか操作を行えないように設定しています。 そこで、MyDocumentのバックアップをWSHにて行いたいと考えています。 バックアップしたい環境は以下になります。 バックアップ元:D:\各ユーザ名 バックアップ先:\\server1\backup\各ユーザ名 人数が多いので、各ユーザ名の箇所に%USERNAME%で環境変数を用いて運用しようと考えています。 http://oshiete1.goo.ne.jp/qa801219.html xcopyの使い方はここを参考に設定したのですが、環境変数の設定方法で詰まっております。 どうすれば良いのでしょうか? |
|
質問投稿日時:08/03/19 15:33 質問番号:3876368 |
||
回答 |
|
| 回答者:temtecomai2 | Const A = "C:\A\" Const B = "C:\B\" Dim WshShell Set wshShell = WScript.CreateObject("WScript.Shell") Dim userName userName = wshShell.ExpandEnvironmentStrings("%USERNAME%") WshShell.Run "xcopy " & A & userName & " " & B & userName & " /D /E /C /I /Q /R /H /Y /O", 0, true でどうでしょうか? パスの途中にスペースが含まれたりするなら WshShell.Run "xcopy """ & A & userName & """ """ & B & userName & """ /D /E /C /I /Q /R /H /Y /O", 0, true とか。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/22 15:10 回答番号:No.3 |
|
| この回答へのお礼 | おお〜、出来ました! 丁寧なご回答、ありがとうございました。 |
回答 |
|
| 回答者:temtecomai2 | いや、だからさ、ホラ、 Set wshShell = WScript.CreateObject("WScript.Shell") WScript.Echo wshShell.ExpandEnvironmentStrings("%USERNAME%") ってのを適当な名前のスクリプトファイルにして実行してみました? 今ログオンしているあなたのユーザー名が出力されませんでしたか? で、何がしたいんでしたっけ? 2種類のパス文字列に %USERNAME% で取得できる文字列を加えたいんじゃありませんでしたっけ? Option Explicit Dim WshShell Set WshShell = CreateObject("WScript.Shell") Const A = "C:\A" Const B = "C:\B" WshShell.Run "xcopy " & A & " " & B & " /D /E /C /I /Q /R /H /Y /O", 0, true この中にある 2種類のパス文字列のお尻にユーザー名の文字列を連結したいんですよね。 じゃぁもうできるじゃない。 がんばって。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:自信あり |
|
| |
回答日時:08/03/21 18:07 回答番号:No.2 |
|
| この回答への補足 | USERNAMEの取得と出力される所までは、こちらに質問させて頂く前に辿り着いていたのですが、 そこから先、どう繋げて良いのかが分からないのです・・・。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答20pt |
|
| 回答者:temtecomai2 | Set wshShell = WScript.CreateObject("WScript.Shell") WScript.Echo wshShell.ExpandEnvironmentStrings("%USERNAME%") みたいな。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| |
回答日時:08/03/19 20:36 回答番号:No.1 |
|
| この回答への補足 | お返事ありがとうございます。 Option Explicit Dim WshShell Set WshShell = CreateObject("WScript.Shell") Const A = "C:\A" Const B = "C:\B" WshShell.Run "xcopy " & A & " " & B & " /D /E /C /I /Q /R /H /Y /O", 0, true こういう記述ではうまくいくのですが、 教えて頂いた文言はどこに挿入すればよいのでしょうか・・・? |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |