好的,这就是我想要做的。我的脚本也复制了计算机上appdata文件夹的文件夹,但这就是我需要它做的事情。我需要它来检查该名称的文件夹是否已经存在,如果它确实将其重命名为其他内容,那么复制该文件夹是我当前的脚本,我需要修改以检查该文件夹是否存在。 Thanx提前
Set oShell = CreateObject("WScript.Shell")
strHomeFolder = oShell.ExpandEnvironmentStrings("%APPDATA%")
Set oShell = CreateObject("WScript.Shell")
Set ofso = CreateObject("Scripting.FileSystemObject")
oShell.CurrentDirectory = oFSO.GetParentFolderName(Wscript.ScriptFullName)
DestinationFolder = strHomeFolder & "\vlc"
SourceFolder = oShell.CurrentDirectory & "\vlc"
dim filesys
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FolderExists(SourceFolder ) Then
filesys.CopyFolder SourceFolder , DestinationFolder
End If
答案 0 :(得分:3)
检测目标文件夹是否与检测源文件夹是否存在的方式相同:
If filesys.FolderExists(DestinationFolder) Then
'do stuff
End If
重命名文件夹可以完成,例如像这样:
filesys.GetFolder(DestinationFolder).Name = "othername"
无需更改您正在执行的工作目录,BTW,以及两次实例化Shell和FileSystemObject对象。
但是,您应该更改构建源路径和目标路径的方式。摆弄路径分隔符很容易出错。最好使用BuildPath
方法构建路径:
DestinationFolder = oFSO.BuildPath(oShell.ExpandEnvironmentStrings("%APPDATA%"), "vlc")
SourceFolder = oFSO.BuildPath(oFSO.GetParentFolderName(WScript.ScriptFullName), "vlc")
这样你的脚本可能看起来像这样:
Set sh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
dst = fso.BuildPath(sh.ExpandEnvironmentStrings("%APPDATA%"), "vlc")
src = fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName), "vlc")
If fso.FolderExists(src) Then
If fso.FolderExists(dst) Then fso.GetFolder(dst).Name = "othername"
fso.CopyFolder src, dst
End If