使用简单的VBScript检查文件是否存在,如果不存在则复制

使用简单的VBScript检查文件是否存在,如果不存在则复制,vbscript,Vbscript,首先,我根本不是一个程序员,所以我可能遗漏了一些非常基本的东西 我正在编写一个脚本,当我们的用户登录到我们的一些终端服务器时,它将通过GPO运行,以检查用户主文件夹中是否存在特定文件,如果存在,则应退出,如果不存在,则应从另一个位置复制.ini文件。这是我的脚本,它失败了 On Error Resume Next dim shell set shell=createobject("wscript.shell") Set objFSO = CreateObject("Scripting.Fi

首先,我根本不是一个程序员,所以我可能遗漏了一些非常基本的东西

我正在编写一个脚本,当我们的用户登录到我们的一些终端服务器时,它将通过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
当我运行脚本时,它只显示复制的文件回显,如果文件不存在,则不会复制任何文件,如果文件存在,则仍会勾选它并显示复制的文件文本

编辑:尝试清理论坛上的显示方式。

尝试以下操作:

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

不能在VB字符串中使用系统环境变量。
按照Omegalipes的指定预先展开它们,并使用concatenate操作符将它们附加到您的路径。

完成了,谢谢大家!我知道这将是一件简单的事情,我知道我想做什么,我只是没有足够的脚本来了解它们是如何工作的。