2015-11-03 50 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的规定预先展开它们,并使用连接操作符将它们​​追加到您的路径中。

相关问题