プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
vbsの質問なのでちょっとVBから離れるかと思いますが。

@echo off
net use \\server1\Users
xcopy "\\server1\Users\myname\work\genshi.xls" "C:\Documents and Settings\myname\デスクトップ\folder" /i /s
net use /delete
exit
をvbsで書き表したいのですがわかりません。
どなたか移植していただけませんか。

A 回答 (2件)

 最近は「DOS や bat」と聞いても、「?」というのが大勢だと思います。

自分は DOS 経験者ですが、その頃はネットワークなんて「夢のまた夢」だったので、net use などのコマンドは自信がありません。
 恐らくネットワークを通じてファイルをコピーしたい、という事だ思いますが、実質3行のコマンドなので、1行ごとに何をやってるのか、注釈を付けられてはいかがでしょうか?

 その方が、応えがつきやすいと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
net use \\server1\Users-----server1に接続する
xcopy "\\server1\Users\myname\work\genshi.xls" "C:\Documents and Settings\myname\デスクトップ\folder" /i /s
-----genshi.xlsをデスクトップ上にfolderというフォルダーを作ってそこに入れる
net use /delete------server1の接続をきる
という意味です。

お礼日時:2008/04/10 10:03

xcopy ということはディレクトリごとのコピーでしょうか?


そうであれば、このようなコードで実現可能かと思います。
変数には必要な値を代入して下さい。

strPassword を strPassword="" としておくと入力を促す InputBox が出ます。

VBS でのみ書くとこのようにネットワークドライブとしてあつかうことになります。
ネットワークドライブに割り当てたくない場合はシェルを呼び出して「net use ...」とすることになります。

メッセージが邪魔な場合は「WScript.Echo」の前に「'」をつけてコメントにしてください。

'
Dim objNetwork
Dim objFileSystem
Dim strDriveLetter
Dim strServerDirectory
Dim strUserID
Dim strPassword
Dim strSourceDirectory
Dim strDestinationDirectory

' -- account --
strUserID = "user"
strPassword = "pass"

strDriveLetter = "Z:"
strServerDirectory = "\\server1\Users"

strSourceDirectory = "\\server1\Users\myname\work\genshi.xls"
strDestinationDirectory = "C:\Documents and Settings\myname\デスクトップ\folder"

' -------
If strPassword = "" Then
strPassword = InputBox("Your password","Password")
End If
If strPassword <> "" Then
' create object
Set objNetwork = CreateObject("WScript.Network")
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
' connect
WScript.Echo "Connect: " & strDriveLetter & " = " & strServerDirectory
objNetwork.MapNetworkDrive strDriveLetter, strServerDirectory, False, strUserName, strPassWord
' copy
WScript.Echo "Copy: " & strSourceDirectory & " => " & strDestinationDirectory
objFileSystem.CopyFolder strSourceDirectory, strDestinationDirectory, True
' disconnect
objNetwork.RemoveNetworkDrive strDriveLetter, True
WScript.Echo "Disconnected: " & strDriveLetter
set objFileSystem = Nothing
set objNetwork = Nothing
WScript.Echo "End"
Else
WScript.Echo "Empty Password"
End If
' ------

# 他にもこの質問サイトを検索すればこれよりはるかにマシなスクリプトがあると思われます。

> どなたか移植していただけませんか。

# こういう丸投げはよろしくないかと思いますが?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!