2013-07-09 111 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不存在」,但它仍然存在。 –