2013-07-09 5 views
-1

Мне нужно иметь возможность часто переименовывать несколько папок в ASP. Ни один из методов, которые я нашел, не работает для меня. Вот текущий метод, который я trying-Переименование папок с VBScript

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

Это, а также другие, которые я пробовал, всегда дает мне «путь не найден» ошибка. Я знаю, что каталог, в котором находится скрипт, содержит эти папки, потому что я переименовал их вручную. Должен ли скрипт знать полный путь? Что делать, если я не знаю, что такое полный путь?

Update:

Скрипт запускается в папку с именем "/ 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 не существует", но она все еще там. –

Смежные вопросы