有问题简单VBScript检查文件是否存在,然后复制,如果没有

时间:2015-11-03 16:19:40

标签: 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

它只显示运行脚本时的文件复制回显,如果文件不存在则不复制文件,如果文件存在,它仍然会经过它并显示文件复制文本。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您不能在VB字符串中使用系统环境变量。 按照omegastripes的指定事先展开它们,并使用连接运算符将它们附加到路径中。