17:15

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

1) всех файлов *.xml на диске f:\

2) всех файлов в папках thumbs на диске f:\

3) всех файлов больше 10мб по пути f:\ispy\video

лучше средствами системы =) а ещё было бы клёво если при сбоях выдавалось неиллюзорное сообщение об ошибке. то есть либо по 1 и 2 заданиям не найдено соответствий, либо что-то не удалось удалить...

из сторонних нашёл только прогу www.deleteoldfiles.ru/ она не обладает нужным функционалом :(
www.snapfiles.com/get/belvedere.html прекрасная программа, но ни в какую не работает с флешками, вообще не видит файлов на них (а f:\ это флешка, да)
Cyber-D's Autodelete Download вообще ничего не умеет

Комментарии
14.02.2015 в 12:13

сабж со стажем
xml удалил, файл больше 10мег удалил, а вот в папках thumbs ничего не удалил
14.02.2015 в 13:19

We rise up for the things we believe in over and over again
кракозябрик, значит, при запуске руками все работает, а из планировщика - нет? Любопытно. А в планировщике по завершении задания какой код операции выводится? 0x0, или что-то отличное от него?
сорри за долгое молчание, я "проспал" :)
14.02.2015 в 13:29

сабж со стажем
Hikedaya, дык при запуске руками я подтверждал запуск... там он спрашивает y/n? я думал что если один раз разрешить, то это запоминается навсегда. а надо таки сделать Set-ExecutionPolicy RemoteSigned чтобы навсегда. и всё заработало
14.02.2015 в 13:30

We rise up for the things we believe in over and over again
кракозябрик, не, это я понял. А после того, как политика скриптов была задана "на веки вечные" как скрипт себя ведет? Отрабатывает как надо или нет?
14.02.2015 в 13:32

сабж со стажем
Hikedaya, да да всё как надо спасибо =) ну или я пока не столкнулся с проблемами =) я если что напишу =)
14.02.2015 в 13:34

Тотальная неудачница и убийца жёстких дисков.
У планировщика могут случаться странности вроде нанахождкея сетевых дисков, загадочные отказы в доступе (у меня было такое, что просто так файл читается, а через планировщик - access denied), а ещё сторонний софт может возмутиться (Outpost Firewall при запуске скрипта через планировщик сильно тормозил скачку файлов).
14.02.2015 в 13:34

We rise up for the things we believe in over and over again
кракозябрик, ок, рад слышать :)
14.02.2015 в 13:40

We rise up for the things we believe in over and over again
Линда Кайе, странности вроде нанахождкея сетевых дисков
О.О

загадочные отказы в доступе
Известная вещь, нужно указывать учетку, от имени которой будет идти запуск скрипта.

Outpost Firewall при запуске скрипта через планировщик сильно тормозил скачку файлов
О.О дважды, при условии, что сам нежно любил Outpost, пока им пользовался.
14.02.2015 в 15:08

Shok ebasit hissra. Meraad astaarit, meraad itwasit, aban aqun. Maraas shokra. Anaan esaam Qun.
Прошу прощения, не тот параметр команде DIR в цикле задал. Проверил на флешке, все работает.

@ECHO off
CLS
CD /D F:
ECHO STEP 1
DEL /S /F /Q "*.xml"
ECHO STEP 2
FOR /R "f:" %%n IN (.) DO (
PUSHD %%n
FOR /F "delims=" %%i IN ('DIR /ad /b') DO IF /I %%i==thumbs ( DEL /S /F /Q "%%i\*.*")
POPD)
ECHO STEP 3
CD ispy
CD video
FOR /F "delims=" %%s IN ('DIR /a:-d /b') DO IF %%~zs GTR 10485760 (DEL /S /F /Q "%%s")
14.02.2015 в 15:17

сабж со стажем
Ржавый Филин, теперь всё работает =) спасибо!
14.02.2015 в 16:09

Тотальная неудачница и убийца жёстких дисков.
Hikedaya

Известная вещь, нужно указывать учетку, от имени которой будет идти запуск скрипта.

Учётка всегда указывается. Но возникает ощущение, что он использует не залогиненного пользователя (даже если стоит соответствующая галочка), а делает ImpersonateUserЧтоТоТам(), чтобы процесс, работающий от системной учётки прикинулся указанным пользователем. Поэтому могут не подключаться сетевые диски, наверное.

О.О дважды, при условии, что сам нежно любил Outpost, пока им пользовался.

Вот такая фигня была. Скрипт качает картинку с Нюрбургринга. При ручном запуске всё отлично, при запуске из планировщика - половина файлов битые. Отключаю Аутпост - проблема исчезает. Решила, правда, обновлением Аутпоста.
14.02.2015 в 16:17

We rise up for the things we believe in over and over again
Линда Кайе, Поэтому могут не подключаться сетевые диски
Work with highest privileges. Проблема эта обусловлена все тем же UAC :)

Отключаю Аутпост - проблема исчезает
Не нарывался на подобное. Может быть дело в сочетании конкретной версии и конкретного компа... О.О
14.02.2015 в 18:17

Тотальная неудачница и убийца жёстких дисков.
Work with highest privileges. Проблема эта обусловлена все тем же UAC :)

В XP?

Не нарывался на подобное. Может быть дело в сочетании конкретной версии и конкретного компа... О.О

Версия Аутпоста - да, но остальное покрыто мраком. Как оно вообще узнал?
14.02.2015 в 20:20

We rise up for the things we believe in over and over again
В XP?
Ессно, нет. В ХП я такого вообще никогда не видел. О.О

Как оно вообще узнал?
Пути багов - неисповедимы.

кракозябрик, не удивляйтесь возникшему флуду в вашем топике :) Это у нас уже в привычке :)
14.02.2015 в 23:56

Тотальная неудачница и убийца жёстких дисков.
Ессно, нет. В ХП я такого вообще никогда не видел. О.О

У меня XP ^^'

Пути багов - неисповедимы.

Кстати об Аутпосте. У меня с более другой версией (то была Free) была классная проблема. При компиляции COM DLL с большим количеством кода случался BSOD. Убрала один класс - норм, добавила - BSOD. Исследование дампа показало, что прилетает из Sandbox.SYS известного уже продукта. Писала в саппорт, вроде бы позже поправили, но я таки нашла путь обхода этой беды. Дело в том, что при компиляции COM библиотеки VB присваивает всем интерфейсам и всему такому GUID'ы. Каждый раз новые. Чтобы этого не произошло (для совместимости) можно указать DLL с уже определёнными интерфейсами. Ну я и указывала готовую DLL. VB смотрит там все GUID'ы, собирает новую DLL и перезаписывает. Что-то здесь не понравилось драйверу Аутпоста, ну тот и начал падать. Костыль заключался в том, чтобы DLL скопировать в другой файл (я использую расширение CMP) и указать его. А после компиляции просто обновлять CMP файл. Такой поворот пришёлся Аутпосту по вкусу, и BSOD'ы прекратились.

Интересно, что такой подход я видела у Microsoft в примерах в папочке UNSUPPRT. Только там не готовую DLL копировали, а сначала ваяли все необходимые классы без кода, компилировали, копировали в CMP, а потом уже писали и компилировали боевую DLL.
15.02.2015 в 00:42

We rise up for the things we believe in over and over again
Кстати об Аутпосте.
Мда, в админской среде свои причуды, в программерской - свои. Живем нескучно :)
15.02.2015 в 06:43

сабж со стажем
Hikedaya, сегодня в два часа ночи был первый раз когда ваш скрипт очистил флешку по расписанию.

утром оказалось что флешка не открывается и видится как mass storage device ёмкостью 0 байт :В


15.02.2015 в 08:31

сабж со стажем
все, починил флешку... наверное был какой-то софтовый сбой. утилита от трансценд ее оживила :в
15.02.2015 в 09:03

We rise up for the things we believe in over and over again
Кажется, я догадываюсь, в чем причина может быть. После завершения работы скрипта консоль Powershell не отцепилась от флешки, и система не смогла корректно ее отмонтировать. В конец скрипта добавьте строку

exit

Это скажет консоли закрыться принудительно после завершения работы. Тем самым она освободит флешку.
А вообще и самому мне надо взять за правило тушить консоль после выполнения скриптов.
15.02.2015 в 09:06

сабж со стажем
это неотпускание проявляется только при запуске через планировщик? а то так-то вручную всё норм было
15.02.2015 в 09:10

We rise up for the things we believe in over and over again
Да, именно в планировщике. У меня был подобный случай с одним из скриптов на работе. Он читал файл, отсылал его по почте, но потом этот самый файл не отпускал.
15.02.2015 в 09:13

сабж со стажем
Hikedaya, ай-яй-яй вам! видите этот седой волос? а вчера это был последний чёрный волос на моей голове! :В
15.02.2015 в 09:20

We rise up for the things we believe in over and over again
*me, устыдившись, посыпает голову пеплом и начинает ревизию всех остальных скриптов*
01.03.2015 в 11:30

сабж со стажем
Hikedaya, а можно сделать чтобы этот скрипт запускался не перехватывая фокус? а то вот мне вчера не спалось, играл в 2 часа ночи, а это голубое окно свернуло мне фалаут =)
02.03.2015 в 15:12

We rise up for the things we believe in over and over again
кракозябрик, самый простой способ (хотя и не самый верный) - назначить задачу так, чтобы она запускалась не от вашего имени, а от системы, и включить галку "Запускать задачу вне зависимости от того, зашел пользователь в систему или нет".
Если же не прибегать к тяжелой артиллерии в виде "системы", то получится матрешка. На vbs пишется скрипт, который будет в фоне запускать уже PSH-скрипт.
04.03.2015 в 18:12

сабж со стажем
Hikedaya, а я добавил аргумент -WindowStyle Hidden =)
04.03.2015 в 18:27

We rise up for the things we believe in over and over again
кракозябрик, и оно сработало? Потому что в моих тестах окно консоли все же выводилось, хотя и тут же исчезало. Хотя я не пробовал это сделать с запланированным заданием, времени не было с планировщиком играться :(
04.03.2015 в 18:33

сабж со стажем
да, сработало. и при запуске вручную и по расписанию. ну и ещё я на 5 часов утра поставил задание, чтобы с ним по возможности меньше пересекаться... а вот окно при вызове bat скрыть не удалось
04.03.2015 в 18:38

Shok ebasit hissra. Meraad astaarit, meraad itwasit, aban aqun. Maraas shokra. Anaan esaam Qun.
кракозябрик, в планировщике запускайте его как start /b батник.
04.03.2015 в 18:40

We rise up for the things we believe in over and over again
кракозябрик, ну что ж, буду знать :)