Имя: Пароль:
1C
 
Удаления папок и файлов
0 myr4ik07
 
10.05.16
14:29
Почему то не удаляются некоторые папки

есть папка
ИмяКаталога =  "C:\Logs-1C-MobileAgent\";
    КаталогНаДиске = Новый Файл(ИмяКаталога);    
    Файлы = НайтиФайлы(ИмяКаталога,"*.*",);
    Для Каждого Имя из Файлы Цикл
        Если Имя.ЭтоКаталог() Тогда
            Разность = ПолучитьРазностьДат(Имя.ПолучитьВремяИзменения(),ТекущаяДата(),"ДЕНЬ");

                Попытка            
                    УдалитьФайлы(Имя.ПолноеИмя);        
                Исключение
                    ЗаписьЖурналаРегистрации("Обмен МА",УровеньЖурналаРегистрации.Ошибка
                    ,,,ИнформацияОбОшибке().Описание,);
                КонецПопытки;

        КонецЕсли;
    КонецЦикла;
1 myr4ik07
 
10.05.16
14:30
некоторые папки и файлы в папках удаляются, а некоторые нет
2 Heckfy
 
10.05.16
14:30
Сделай батник
forfiles -p C:\Logs-1C-MobileAgent\ -d -3 -c "cmd /c rmdir /s /q @path"
Запускай виндовым шедулером. Всяко надежнее, чем ОдноЭс. :)
3 Масянька
 
10.05.16
14:31
(0) Format c: - точно удалит. Всё.
4 Звездец
 
10.05.16
14:33
заняты каким-то процессом скорее всего
5 myr4ik07
 
10.05.16
14:33
(2) да батник не пойдет, я в них не понимаю, а условия удаления могут добавляться при удалении, то дата, то размер, то еще что то, я потом тебя не найду, шоб подправить )
6 myr4ik07
 
10.05.16
14:34
(4) папок больше 20 штук, ничем не заняты они, удаляются без проблем через обработку, а от фоновым заданием не удаляются
7 myr4ik07
 
10.05.16
14:34
Кстати, это в ФОНОВОМ задании через планировщик не удаляется, а через гуи удалеятся без проблем
8 Heckfy
 
10.05.16
14:41
(5) Формируй батник программно.
На тебе для примера еще строку для удаления файлов:
forfiles -p D:\ТвойКаталог\ -s -m *.* -d -10 -c "cmd /c del /q @path"
9 Звездец
 
10.05.16
14:42
(7) значит дай права на папку пользователю, от которого удаляются папки
10 myr4ik07
 
10.05.16
14:45
(8) а, понял, что ты имеешь ввиду, да, вериант.

а как написать в батнике, что бы в конкретной папке удалило только папки и подпапки, но файлы осталоись

есть ПАПАКА в ней
Файл

    Папка1
        Файл1
    Папка2
    Папка3
        Файл1
        Файл2
    Папка4

как что бы осталось только Файл, а все Папка1 и его файлы и т.д. удалились?
11 Звездец
 
10.05.16
14:46
(10) с правами разберись, если проблема в них, то батник не поможет
12 Heckfy
 
10.05.16
14:48
(10) см. (2) (9) (11)
Точнее (9) (11) (2)
13 myr4ik07
 
10.05.16
14:48
(11) та не в правах тут дело, фоново создается каталог, создается файл, а вот с удаление проблемы
14 Heckfy
 
10.05.16
14:49
(13) Тогда (2)
15 Звездец
 
10.05.16
14:50
(12) виндовым тоже можно от разных пользователей запускать, и не известно с какими правами создается
16 myr4ik07
 
10.05.16
14:51
наверное буду делать что то типа
rmdir /S ПодставляяПапку
17 myr4ik07
 
10.05.16
15:22
капец
            КомандаСистемы("rmdir /S /Q "+""""+Имя.ПолноеИмя+"""");

фоновое задание просто пропускает процедуру в которой находиться выше код
18 Heckfy
 
10.05.16
15:25
(17) Описание читал???
КомандаСистемы(<СтрокаКоманды>, <ТекущийКаталог>)


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

Тонкий клиент, толстый клиент.
19 Heckfy
 
10.05.16
15:26
Используй:

ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>)
20 myr4ik07
 
10.05.16
15:35
(18) мда
21 myr4ik07
 
10.05.16
15:55
(19) бесит уже

ЗапуститьПриложение("rmdir /S /Q "+""""+Имя.ПолноеИмя+"""");

что тут не так?
висит эта команда
22 myr4ik07
 
10.05.16
15:55
элементарное удаление файлов и уже пол дня потратил
23 Heckfy
 
10.05.16
16:00
(21) Так попробуй:
ЗапуститьПриложение("rmdir /S /Q "+""""+Имя.ПолноеИмя+"""",,Истина,);
Я тебе с предыдущей ветки батник предлагал :)::)
24 myr4ik07
 
10.05.16
16:08
(23) аналогично, висит
25 myr4ik07
 
10.05.16
16:09
26 myr4ik07
 
10.05.16
16:09
тогда как удалить эти драные папки и файлы? фоново?
27 myr4ik07
 
10.05.16
16:30
люди, есть у кого то скрипт что бы в определенной папке удалить только подпапки, а файлы оставить?
я бы в планировщик заданий винды закинул бы и не парился с этим драным 1с
28 Nuobu
 
10.05.16
16:35
(27) -> (2)
29 myr4ik07
 
10.05.16
16:40
короче, залупил пользователя под которым запускается фоновое, а это USR1CV8 в группу Администраторы и
   УдалитьФайлы(Имя.ПолноеИмя);        
выполнилось для всех папок.

Где то рекомендовали мне уже это, извини меня чувак, ты был прав!!!!!
30 myr4ik07
 
10.05.16
16:43
а, ну да, еще добавил эту белеберду USR1CV8  в свойства папки и дал полный доступ
31 Звездец
 
10.05.16
17:17
(29) а то, я и не сомневался что был прав)))
32 myr4ik07
 
10.05.16
17:23
(31) я очень огорчен из-за того, что не верно тебя понял, дело было
либо нужно было в папку источник добавить пользвоателя 1с как владелец папки
либо 1с пользователя от которого запускается фон. задание, добавить в группу администраторы

короче потратил целый день на такую элементарщину, капец
33 Heckfy
 
10.05.16
17:28
опыт сын ошибок трудных и гений парадоксов друг