Как программно переименовать каталог?

1. Maxim (Trofimov_M) 13.12.11 15:42 Сейчас в теме
Как программно переименовать каталог?
Ответы
2. Ийон Тихий (cool.vlad4) 41 13.12.11 15:46 Сейчас в теме
ПереместитьФайл (MoveFile)
Синтаксис:

ПереместитьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)
Параметры:

<ИмяФайлаИсточника> (обязательный)

Тип: Строка.
Полное имя файла-источника (полное исходное имя файла).
<ИмяФайлаПриемника> (обязательный)

Тип: Строка.
Полное имя файла-приемника (полное новое имя файла).
Описание:

Выполняет перемещение (переименование) указанного файла.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
На веб-клиенте метод работает только с локальными файлами.
Пример:

ПереместитьФайл("C:\Temp\Order.htm", "C:\My Documents\Order.htm");
3. Алекс Смирнов (goodwin12) 13.12.11 15:48 Сейчас в теме
4. Сергей Борисов (juntatalor) 56 13.12.11 15:50 Сейчас в теме
1) ПереместитьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)
2) КомандаСистемы("move " + СтароеИмя + " " + НовоеИмя);
5. Ийон Тихий (cool.vlad4) 41 13.12.11 15:51 Сейчас в теме
6. Maxim (Trofimov_M) 13.12.11 15:52 Сейчас в теме
(2) у меня для каталогов этот метод не работает, ругается "неправильный путь к файлу"!
7. Сергей Борисов (juntatalor) 56 13.12.11 15:58 Сейчас в теме
(6) Как указываете имя каталога?
8. Maxim (Trofimov_M) 13.12.11 16:00 Сейчас в теме
(7) по всякому пробовал, и так
Имя = "D:\TestVer\TestVer_RepStorage\ЗагрузкаПО\123";
Папка = Новый Файл(Имя);
ПереместитьФайл(Папка.ПолноеИмя, Папка.Путь + "Setup");

и так

ПереместитьФайл("D:\TestVer\TestVer_RepStorage\ЗагрузкаПО\123", "D:\TestVer\TestVer_RepStorage\ЗагрузкаПО\Setup");
9. Ийон Тихий (cool.vlad4) 41 13.12.11 16:02 Сейчас в теме
Тогда еще так
objFSO = Новый COMОбъект("Scripting.FileSystemObject");
objFolder = objFSO.GetFolder("C:\_1");
objFolder.Name = "_21";
10. Maxim (Trofimov_M) 13.12.11 16:04 Сейчас в теме
(9), да пользовался этим объектом в 7-ке, думал в 8-ке есть что-то типовое
11. Ak Uji (Akuji) 5 04.12.13 15:48 Сейчас в теме
objFSO = Новый COMОбъект("Scripting.FileSystemObject");
objFolder = objFSO.GetFolder("C:\_1");
objFolder.Name = "_21";


Как в последней строке указать не конкретное имя, а значение переменной?
Пробую:
objFolder.Name = ""+НовоеИмя+"";//в кавычках, без ... одинаково(
Ошибка:
Ошибка1: {Обработка.ПакетнаяОбработкаБаз.Форма.Форма.Форма(1622)}: Ошибка при установке значения атрибута контекста (Name): Произошла исключительная ситуация (0x80070057)
12. Ak Uji (Akuji) 5 04.12.13 15:51 Сейчас в теме
Первые два способа работают только с файлами, а не каталогами?
13. С. С. (sonnix) 23.12.16 00:42 Сейчас в теме
ПереместитьФайл( ИмяФайлаИсточника, ИмяФайлаПриемника) не работает с каталогами. По крайней мере на 8.3.8 и 8.3.9

Если исполнение на Windows, то работает следующий код:

objFSO = Новый COMОбъект("Scripting.FileSystemObject");
objFSO.MoveFolder(полноеСтароеИмяПапки,полноеНовоеИмяПапки);


Оставьте свое сообщение