2013-07-09 53 views
-1

我需要能够经常重命名ASP中的多个文件夹。我找到的方法都不适合我。这是当前的方法,我trying-用VBScript重命名文件夹

Set FS = CreateObject("Scripting.FileSystemObject") 
FS.MoveFolder "/images/715", "/images/V14" 

这,还有其他人,我已经试过了,总是给我的错误“找不到路径”。我知道脚本所在的目录中有这些文件夹,因为我已经手动重命名了它们。脚本是否需要知道完整路径?如果我不知道完整路径可能会怎样?

更新:

该脚本在名为 “/ IFP” 目录下运行。我也试过这个,有和没有“/ ifp”和前后斜线,也没有找到路径。一旦这在我的测试服务器上工作,我将它发送给生产服务器的人,所以我不能使用除“/ images/????”以外的任何静态目录名称

Dim sCurPath 
sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".") 
FS.MoveFolder sCurPath & "\ifp\images\715", sCurPath & "\ifp\images\V14" 
+1

你*真的*有一个顶级目录'/ images'?也许错误是你在这里使用绝对路径。 – mkluwe

回答

2

使用绝对路径(C:\images\715)。它应该是这样的:

Set FS = CreateObject("Scripting.FileSystemObject") 
FS.MoveFolder "C:\images\715", "C:\images\V14" 

如果您使用的是-nix系统然后牢记第一/是根目录 - 确保你确实确实有在根目录路径的图片文件夹中。

另请注意,为了重命名该文件夹,在文件夹名称和脚本必须在本地计算机上运行后,不能跟踪\

如果你不断收到路径错误,你会以某种方式错误地传递它。建立一些错误检查,看看发生了什么问题:

Dim tmpPath = "\ifp\images\715" 
Dim newPath = "\ifp\images\V14" 

If FS.FolderExists(sCurPath & tmpPath) Then 
    Response.Write("The folder exists.") 
    FS.MoveFolder sCurPath & tmpPath, sCurPath & newPath 
Else 
    Response.Write("The folder " & sCurPath & tmpPath & " does not exist.") 
End If 
+0

看看我上面添加了什么。文件夹“/ 715”没有子文件夹。 –

+0

Windows将正斜杠理解为路径分隔符,这不是问题所在。 – Tomalak

+0

我得到 - Permission_denied:_'MsgBox'好吧,我改变了response.write,现在我得到“文件夹C:\ Windows \ SysWOW64 \ inetsrv \ ifp \ images \ 715不存在”,但它仍然存在。 –