Папка-шлюз
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Программное обеспечение

#1: Папка-шлюз Author: mrmerak PostPosted: Thu Oct 18, 2018 17:15
    —
Всем приветы.

Есть папка "А".
В этой папке есть другие папки "АВ".

Нужно чтобы в 00:00 в папке "А" удалялись все файлы (но не папки), а в папках "АВ" удалялось все.

Подозреваю, что тут нужны батник и планировщик... подскажите как быть. Заранее спс.

#2:  Author: LonerDLocation: Донецк PostPosted: Thu Oct 18, 2018 18:26
    —
По быстрому на AutoHotkey получился такой скрипт.
Dir - исходная папка, Period - периодичность проверки (1000 = 1 секунде).

Code:
#NoEnv
;#NoTrayIcon
#SingleInstance ignore
#Persistent

Dir := "d:\A"
Period := "1000"

SetTimer, RemFiles, % Period
return

RemFiles:
  Loop, Files, %Dir%\*.*, FDR
  {
    if InStr(FileExist(A_LoopFileLongPath), "D")
    {
      if ( A_LoopFileDir != Dir )
        FileRemoveDir, %A_LoopFileLongPath%, 1
    }
    else
    {
      FileSetAttrib, -R, %A_LoopFileLongPath%
      FileDelete, %A_LoopFileLongPath%
    }
  }
return

#3:  Author: mrmerak PostPosted: Fri Oct 19, 2018 09:03
    —




mrmerak wrote:
и планировщик...


это победил уже:
Quote:
Schtasks.exe /Create /RL Highest /TN CleanUP /SC Daily /ST 23:59 /TR "D:\CleanUP.bat"

#4:  Author: LonerDLocation: Донецк PostPosted: Fri Oct 19, 2018 14:12
    —
mrmerak
Это не AutoIT, а AutoHotkey скрипт.
Для запуска скрипта достаточно одного файла из архива. Я предпочитаю 32-хбитную Unicode-версию AutoHotkeyU32.exe как наиболее универсальную. Можно откомпилировать в отдельный ехе-шник (компилятор тоже в архиве).

#5:  Author: mrmerak PostPosted: Fri Oct 19, 2018 14:14
    —
LonerD
опа! да, недоглядел
спс

вообщем уже и решение на автоите подсказали:

Code:
#include <File.au3>
FileDelete("D:\folder A\*.*") ;удаляем все файлы из folder A
$folders_list=_FileListToArray("D:\folder A", "*", 2) ;получаем список папок, вложенных в folder A
For $i=1 To UBound($folders_list)-1
    DirRemove("D:\folder A\" & $folders_list[$i], 1) ;удаляем папки и все внутри них
    DirCreate("D:\folder A\" & $folders_list[$i]) ;создаем пустые папки снова
Next



Total Commander -> Программное обеспечение


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group