2013-07-09 2 views
-1

자주 ASP에서 여러 폴더의 이름을 바꿀 수 있어야합니다. 내가 찾은 방법 중 어느 것도 나를 위해 일하고 있지 않다. 여기 내가 시도한 현재 방법입니다 -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'OK, response.write로 바꿨습니다. 이제 "C : \ Windows \ SysWOW64 \ inetsrv \ ifp \ images \ 715 폴더가 없습니다"라는 메시지가 나타납니다. –

관련 문제