Como copiar o arquivo para o appdata do usuário forlder usando vbscript?

1

Estou usando o seguinte vbscript, mas parece não estar funcionando para copiar o arquivo. Se eu usar o caminho de arquivo absoluto, funciona.

Como definir esses caminhos no Windows 7 para funcionar.

Const DestinationFile = "%UserProfile%\Desktop\plrplus.dotm"
Const SourceFile = "%UserProfile%\Desktop\PLRPlus\plrplus.dotm"

Set fso = CreateObject("Scripting.FileSystemObject")
    'Check to see if the file already exists in the destination folder
    If fso.FileExists(DestinationFile) Then
        'Check to see if the file is read-only
        If Not fso.GetFile(DestinationFile).Attributes And 1 Then 
            'The file exists and is not read-only.  Safe to replace the file.
            fso.CopyFile SourceFile, "%UserProfile%\Desktop\plrplus.dotm" True
        Else 
            'The file exists and is read-only.
            'Remove the read-only attribute
            fso.GetFile(DestinationFile).Attributes = fso.GetFile(DestinationFile).Attributes - 1
            'Replace the file
            fso.CopyFile SourceFile, "%UserProfile%\Desktop\plrplus.dotm", True
            'Reapply the read-only attribute
            fso.GetFile(DestinationFile).Attributes = fso.GetFile(DestinationFile).Attributes + 1
        End If
    Else
        'The file does not exist in the destination folder.  Safe to copy file to this folder.
        fso.CopyFile SourceFile, "%UserProfile%\Desktop\plrplus.dotm", True
    End If
Set fso = Nothing
    
por Rahul Patel 19.12.2015 / 07:34

1 resposta

0

da sugestão de DavidPostill, essas duas coisas diferentes funcionaram.

Desktop é uma pasta especial, por isso:

Set objShell = CreateObject( "WScript.Shell" )    
objShell.SpecialFolders("Desktop")

Para outras pastas nos usuários, podemos expandir as strings do ambiente

Set objShell = CreateObject( "WScript.Shell" )    
objShell.ExpandEnvironmentStrings("%APPDATA%")
    
por 19.12.2015 / 10:12

Tags