2012-08-14 43 views
1

因此,我想爲Windows編寫一個腳本來檢查並查看是否舊用戶和新的Outlook配置文件都存在。如果一箇舊的存在但新的不存在,則它複製舊的並給它一個新的文件名。檢查舊文件和新文件,創建一個,如果沒有任何文件存在與vbscript

我對語法有一個大概的想法,看起來像這樣。

If Exist \users\%%UserName%%\%%OldFileName%% 

    If NOT Exist \users\%%UserName%%\%%NewFileName%% 

     copy \users\%%UserName%%\%%OldFileName%% \users\%%UserName%%\%%NewFileName%% 

    End If 

End If 

UPDATED!
這是我到目前爲止能夠提出的。

Dim objFSO 

Set objFSO = CreateObject("Scripting.FileSystemObject") 

     strOldFileName = 「Default Outlook Profile.NK2」 
     strNewFileName = 「Default Profile.NK2」 

    If objFSO.FileExists "\\comfilesrv1\users\%%UserName%%\&OldFileName&" Then 
     objFSO.CopyFile "\\comfilesrv1\users\%%UserName%%\&OldFileName&", "\\comfilesrv1\users\%%UserName%%\&NewFileName&" 
    End If 

我不要求任何人都可以寫我,但如果有人能在正確的方向指向我,那將是巨大的。

+2

'&'是VBScript中的字符串連接運算符,我沒有看到你想達到與''%%語法什麼。在文件系統對象中有一個'Copy'方法,順便說一句,[記錄](http://msdn.microsoft.com/en-us/library/aa242706%28v=vs.60%29的.aspx)。 – krlmlr 2012-08-14 18:41:54

+0

謝謝,我會看看那個。目前%是佔位符。 – jzacharia 2012-08-14 18:44:21

回答

1

試試這個

Dim objFSO, strOldFileName, strNewFileName, strOldProfile, strNewprofile, bOverwrite 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
bOverwrite = true 

strOldFileName = "Default Outlook Profile.NK2" 
strNewFileName = "Default Profile.NK2" 

strOldProfile = "\\comfilesrv1\users\" & UserName & "\" & strOldFileName 
strNewprofile = "\\comfilesrv1\users\" & UserName & "\" & strNewFileName 

If objFSO.FileExists(strOldProfile) Then 
    objFSO.CopyFile strOldProfile, strNewprofile, bOverwrite 
End If 
+0

謝謝!這工作完美。 – jzacharia 2012-08-14 22:49:52

相關問題