2015-11-03 16 views
0

首先我不是一個編碼器,所以我可能會錯過一些非常基本的東西。有問題簡單的VBScript來檢查文件是否存在,然後複製如果不是

我正在寫一個腳本,當我們的用戶登錄到我們的一些終端服務器來檢查用戶主文件夾中是否存在特定文件時,它將通過GPO運行,如果它應該退出,如果不是,則應該複製來自另一個位置的.ini文件。這是我失敗的腳本。

On Error Resume Next 

dim shell 

set shell=createobject("wscript.shell") 

Set objFSO = CreateObject("Scripting.FileSystemObject") 

If objFSO.FileExists("C:\%USERPROFILE%\AppData\Roaming\Microsoft Dynamics SL\solomon.ini") Then 

    Wscript.Quit 

Else 

    objFSO.CopyFile "\\Server\sharepath\file.ini" , "C:\%USERPROFILE%\AppData\Roaming\Microsoft Dynamics SL\" 


    Wscript.Echo "File Copied." 

End If 

它只是顯示文件複製迴音,當我運行該腳本,如果文件不存在,沒有文件被複制,如果該文件是有它仍然蜱過去,並顯示文件複製的文本。

編輯:試圖清理它在論壇上顯示的方式。

回答

0

試試這個:

On Error Resume Next 

Dim strAppDataPath 
strAppDataPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%appdata%") 
With CreateObject("Scripting.FileSystemObject") 
    If .FileExists(strAppDataPath & "\Microsoft Dynamics SL\solomon.ini") Then 
     Wscript.Quit 
    Else 
     .CopyFile "\\Server\sharepath\file.ini", strAppDataPath & "\Microsoft Dynamics SL\" 
     Wscript.Echo "File Copied." 
    End If 
End With 
+0

這樣做,謝謝你們!我知道這將會是一件簡單的事情,我知道我想做什麼,我只是沒有足夠的腳本來了解他們的工作方式。 – ericdared

0

你不能在VB中的字符串中使用的系統環境變量。 按照omegastripes的規定預先展開它們,並使用連接操作符將它們​​追加到您的路徑中。

相關問題