Как программно переименовать каталог?
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
ПереместитьФайл (MoveFile)
Синтаксис:
ПереместитьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)
Параметры:
<ИмяФайлаИсточника> (обязательный)
Тип: Строка.
Полное имя файла-источника (полное исходное имя файла).
<ИмяФайлаПриемника> (обязательный)
Тип: Строка.
Полное имя файла-приемника (полное новое имя файла).
Описание:
Выполняет перемещение (переименование) указанного файла.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
На веб-клиенте метод работает только с локальными файлами.
Пример:
ПереместитьФайл("C:\Temp\Order.htm", "C:\My Documents\Order.htm");
Синтаксис:
ПереместитьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)
Параметры:
<ИмяФайлаИсточника> (обязательный)
Тип: Строка.
Полное имя файла-источника (полное исходное имя файла).
<ИмяФайлаПриемника> (обязательный)
Тип: Строка.
Полное имя файла-приемника (полное новое имя файла).
Описание:
Выполняет перемещение (переименование) указанного файла.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
На веб-клиенте метод работает только с локальными файлами.
Пример:
ПереместитьФайл("C:\Temp\Order.htm", "C:\My Documents\Order.htm");
(7) по всякому пробовал, и так
и так
Имя = "D:\TestVer\TestVer_RepStorage\ЗагрузкаПО\123";
Папка = Новый Файл(Имя);
ПереместитьФайл(Папка.ПолноеИмя, Папка.Путь + "Setup");
и так
ПереместитьФайл("D:\TestVer\TestVer_RepStorage\ЗагрузкаПО\123", "D:\TestVer\TestVer_RepStorage\ЗагрузкаПО\Setup");
objFSO = Новый COMОбъект("Scripting.FileSystemObject");
objFolder = objFSO.GetFolder("C:\_1");
objFolder.Name = "_21";
objFolder = objFSO.GetFolder("C:\_1");
objFolder.Name = "_21";
Как в последней строке указать не конкретное имя, а значение переменной?
Пробую:
objFolder.Name = ""+НовоеИмя+"";//в кавычках, без ... одинаково(
Ошибка:
Ошибка1: {Обработка.ПакетнаяОбработкаБаз.Форма.Форма.Форма(1622)}: Ошибка при установке значения атрибута контекста (Name): Произошла исключительная ситуация (0x80070057)
ПереместитьФайл( ИмяФайлаИсточника, ИмяФайлаПриемника) не работает с каталогами. По крайней мере на 8.3.8 и 8.3.9
Если исполнение на Windows, то работает следующий код:
Если исполнение на Windows, то работает следующий код:
objFSO = Новый COMОбъект("Scripting.FileSystemObject");
objFSO.MoveFolder(полноеСтароеИмяПапки,полноеНовоеИмяПапки);
Мне тоже понадобилось переименовать каталог:
Ни один из этих методов на 8.3.16 не сработал
//Shell = Новый COMОбъект("Shell.Application");
//Folder = Shell.NameSpace(Каталог1);
//FolderItem = Folder.ParseName(ИмяФайла);
//FolderItem.Name = ИмяФ1;
// КомандаСистемы("ren " + ИмяФайла + " " + ИмяФ1, Каталог1);
// ПереместитьФайл(Каталог1 + "\" + ИмяФайла, Каталог1 + "\" + ИмяФ1);
objFSO = Новый COMОбъект("Scripting.FileSystemObject");
objFSO.MoveFolder(Каталог1 + "\" + ИмяФайла, Каталог1 + "\" + ИмяФ1);
ПоказатьНи один из этих методов на 8.3.16 не сработал
Хочется спросить разработчиков платформы.. "если я должен использовать "Scripting.FileSystemObject" для простых операций с файлами/папками, то зачем нам функционал работы с файлами в платформе. Давайте будем пользоваться сторонними разработками. Вообще половину функционала платформы переведём на сторонних разработчиков и их системы и вам будет очень удобно сваливать на сторонних разработчиков все проблемы и люди-человеки не будут ломать голову".
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)