Можно ли средствами 1С переименовать файл?

1. ask001 17.05.13 12:41 Сейчас в теме
Можно ли средствами 1С переименовать файл?
Проблема с dbf-файлом, нужно сделать его имя больше 8-ми символов.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
16. primara 53 09.08.13 20:06 Сейчас в теме
(1) ask001, Успешно работает:
ПереместитьФайл(ПутьКФайлу+"\temp.dbf", ПутьКФайлу+"\ScheduleInfo.dbf");
ПереместитьФайл(ПутьКФайлу+"\temp1.dbf", ПутьКФайлу+"\Amounts.dbf");
Vagan1972; myoker; aks; _7445_; user620484_shafievselimhan; Obvious; igozakh; Nimfetamin; DoReMi; ffgnebel; s_tagil@mail.ru; AKV77; Восьмой; L0z4; serge_focus; Stepan_1c; +16 Ответить
18. Stepan_1c 18.08.13 22:04 Сейчас в теме
(16) primara, спасибо. коротко и по существу. а то и здесь стал появляться флуд.
19. serge_focus 4 01.09.13 11:13 Сейчас в теме
2. ZergKRSK 129 17.05.13 12:56 Сейчас в теме
Мне кажется что нет. Могу ошибаться.
3. aleksey_1984 17.05.13 13:07 Сейчас в теме
dbf это по сути обычный текстовый файл

ТекстДок.Прочитать("catalog.dbf");
ТекстДок.Записать("catalog123123123.dbf");
4. ZergKRSK 129 17.05.13 13:08 Сейчас в теме
(3) aleksey_1984, а если будет не текстовик?
6. asved.ru 36 17.05.13 13:37 Сейчас в теме
ТекстДок.Прочитать("catalog.dbf");
ТекстДок.Записать("catalog123123123.dbf");

а если будет не текстовик?


(4) ZergKRSK, ДвоичныеДанные же!
7. DenisCh 17.05.13 13:37 Сейчас в теме
(3) aleksey_1984, "dbf это по сути обычный текстовый файл"

Спасибо за поднятие настроения в пятницу...
10. Поручик 4675 20.05.13 00:38 Сейчас в теме
(3) Вон из профессии.
Иди кури матчасть.
de0nis; scape; Bukaska; +3 1 Ответить
20. Vovus 3 04.01.15 13:29 Сейчас в теме
(3) aleksey_1984, Длина имени файла превысила 8 символов
5. Yuri_2008 17.05.13 13:11 Сейчас в теме
Переименовать можно, но 1С не сможет прочитать DBF файл длина имени которого больше 8-ми символов... Так что не заморачивайся.
8. DenisCh 17.05.13 13:38 Сейчас в теме
А вообще - что есть переименование? Правильно...
Поэтому используем ПереместитьФайл() и идём на рынок покупать гуся.
lavash67; ffgnebel; goodwill; ask001; +4 Ответить
9. goodwill 20 20.05.13 00:16 Сейчас в теме
интересно а вот так будет работать?

WshShell=СоздатьОбъект("WScript.Shell");
КодВозвр=WshShell.Run("RENAME C:\folder\test.txt test1.txt",);
_7445_; ffgnebel; +2 Ответить
11. ЛохНесс 150 20.05.13 02:48 Сейчас в теме
(9)
В продолжении темы. Можно еще так попробовать:
КомандаСистемы("ren test.txt test1.txt", "C:\folder") 
_7445_; ffgnebel; +2 Ответить
12. Suulla Uola 7 20.05.13 05:45 Сейчас в теме
В меню Файл выбираем Открыть файл. В открывшемся браузере переименовываем, удаляем и прочее...
13. ZergKRSK 129 20.05.13 06:39 Сейчас в теме
(12) Suulla Uola, я так понял это надо сделать программно
14. Ibrogim 1313 20.05.13 09:24 Сейчас в теме
(12) Suulla Uola,
В меню Файл выбираем Открыть файл...

15. primara 53 09.08.13 19:55 Сейчас в теме
(12) Suulla Uola, Вы ошиблись форумом. :-)
17. Bell 36 10.08.13 21:26 Сейчас в теме
Аналогичный метод использую. Работает.
21. пользователь 04.01.15 14:47
Сообщение было скрыто модератором.
...
22. пользователь 29.08.19 17:56
Сообщение было скрыто модератором.
...
23. пользователь 14.09.20 12:00
Сообщение было скрыто модератором.
...
24. пользователь 14.09.20 12:46
Сообщение было скрыто модератором.
...
25. va582 15.09.20 14:29 Сейчас в теме
Недавно разбирался на ПК и нужно было переименовать 781 элемент, общий размер 93,1 ГБ (100 006 030 242 байт).
Решил с помощью 1С это сделать.

Shell = Новый COMОбъект("Shell.Application");
	Folder = Shell.NameSpace("C:\Папка\");
	FolderItem = Folder.ParseName("Имя файла До.расширение");
	FolderItem.Name = "Имя файла После.расширение";


У меня это, конечно же, в цикле и с переменными было )

Диск: Hitachi HDS721050CLA362 (довольно старый уже, не грузился по диспетчеру задач - максимум 10%; характеристики 120|116 MB/s Read|Write)
Процессор: Intel® Core™ i3-2120 CPU * 3.30GHz (грузился на 100%)
ОЗУ: неизвестно 8ГБ (без изменений по нагрузке)
Обработалось за 1 минуту и 14 секунд.

Думаю, кому-нибудь поможет)
26. tamantsev 8 18.07.23 13:32 Сейчас в теме
ФайлВФорматеXLS = ПолучитьИмяВременногоФайла("xls");
ТабличныйДокумент.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);

ИмяФайла = ФайлВФорматеXLS;
ВыбФайл = Новый Файл(ИмяФайла);

НазваниеКаталога = Лев(ИмяФайла,СтрНайти(ИмяФайла,"v8")-1) ;
дл = СтрДлина(ИмяФайла) - СтрНайти(ИмяФайла,"v8",НаправлениеПоиска.СКонца)+1;
НазваниеФайла = Прав(ИмяФайла,дл);// 15

ПутьНОвый = СтрЗаменить(ИмяФайла,НазваниеФайла, "УведомлениеОтпуск_"+Сотрудник)+".xls";
ПереместитьФайл(ИмяФайла, ПутьНОвый);

ФайлВФорматеXLS = ПутьНОвый;
27. user1880116 18.07.23 15:07 Сейчас в теме
28. tamantsev 8 19.07.23 06:47 Сейчас в теме
(27) ГовнаКодНа1С для переименования имени временных файлов. Но он точно работающий.
29. spacecraft 19.07.23 07:54 Сейчас в теме
(26) жесть.
Это вместо простого кода:
ФайлВФорматеXLS = СтрШаблон("%1УведомлениеОтпуск_%2.xls",КаталогВременныхФайлов(),Сотрудник);
ТабличныйДокумент.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);
tamantsev; +1 Ответить
30. tamantsev 8 19.07.23 11:19 Сейчас в теме
(29)
ФайлВФорматеXLS = СтрШаблон("%1УведомлениеОтпуск_%2.xls",КаталогВременныхФайлов(),Сотрудник);
ТабличныйДокумент.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);
Изумительный и великолепный код!!! (я не знал что так можно, через СтрШаблон)
31. shtyk80 26.09.23 10:26 Сейчас в теме
Средствами 1С не проще?

ОбработанныйФайл = "" + СтрЗаменить(ТекФайл,".csv",".old");
ПереместитьФайл(ТекФайл,ОбработанныйФайл);
32. shtyk80 26.09.23 10:27 Сейчас в теме
ТекФайл = Файл.ПолноеИмя;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот