Вот ответ, основанный на (и я думаю, что улучшение по сравнению) ответ Tester101, выраженный в виде подпрограммы, с CopyFile линии один раз, а не в три раза, и готов обрабатывать изменения имени файла в качестве копии (нет жестко заданного каталога назначения). Я также обнаружил, что перед копированием мне пришлось удалить целевой файл, чтобы заставить его работать, но это может быть Windows 7. Операторы WScript.Echo - это потому, что у меня не было отладчика, и, конечно, можно удалить его.
Sub CopyFile(SourceFile, DestinationFile)
Set fso = CreateObject("Scripting.FileSystemObject")
'Check to see if the file already exists in the destination folder
Dim wasReadOnly
wasReadOnly = False
If fso.FileExists(DestinationFile) Then
'Check to see if the file is read-only
If fso.GetFile(DestinationFile).Attributes And 1 Then
'The file exists and is read-only.
WScript.Echo "Removing the read-only attribute"
'Remove the read-only attribute
fso.GetFile(DestinationFile).Attributes = fso.GetFile(DestinationFile).Attributes - 1
wasReadOnly = True
End If
WScript.Echo "Deleting the file"
fso.DeleteFile DestinationFile, True
End If
'Copy the file
WScript.Echo "Copying " & SourceFile & " to " & DestinationFile
fso.CopyFile SourceFile, DestinationFile, True
If wasReadOnly Then
'Reapply the read-only attribute
fso.GetFile(DestinationFile).Attributes = fso.GetFile(DestinationFile).Attributes + 1
End If
Set fso = Nothing
End Sub
Под каком контексте вы используете этот сценарий? – jrcs3
Я получаю некоторый вывод в одной папке, мне просто нужно скопировать этот вывод из этой папки в другую папку, где этот вывод будет отправлен в качестве входного файла для другого исполняемого файла. – 2009-08-11 14:40:11
Вы используете это как файл сценария .VBS, в IE и т. Д.? Можете ли вы сделать одну и ту же копию в пакетном файле как один и тот же пользователь? – jrcs3