| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		mrmerak
 
  
  Joined: 20 Aug 2007 Posts: 441
 
  | 
		
			
				  (Separately) Posted: Thu Oct 18, 2018 17:15    Post subject: Папка-шлюз | 
				     | 
			 
			
				
  | 
			 
			
				Всем приветы.
 
 
Есть папка "А".
 
В этой папке есть другие папки "АВ".
 
 
Нужно чтобы в 00:00 в папке "А" удалялись все файлы (но не папки), а в папках "АВ" удалялось все.
 
 
Подозреваю, что тут нужны батник и планировщик... подскажите как быть. Заранее спс. _________________ TC 9.51 | Win10 1903 | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		LonerD
 
  
  Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
  | 
		
			
				  (Separately) Posted: Thu Oct 18, 2018 18:26    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				По быстрому на 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  | 	 
  _________________ Windows 11 | TC DreamLair eternal pre-α | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		mrmerak
 
  
  Joined: 20 Aug 2007 Posts: 441
 
  | 
		
			
				  (Separately) Posted: Fri Oct 19, 2018 09:03    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 
 
 
 
 
 	  | mrmerak wrote: | 	 		  | и планировщик... | 	  
 
 
это победил уже:
 
 	  | Quote: | 	 		  | Schtasks.exe /Create /RL Highest /TN CleanUP /SC Daily  /ST 23:59 /TR "D:\CleanUP.bat" | 	 
  _________________ TC 9.51 | Win10 1903 | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		LonerD
 
  
  Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
  | 
		
			
				  (Separately) Posted: Fri Oct 19, 2018 14:12    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				mrmerak
 
Это не AutoIT, а AutoHotkey скрипт.
 
Для запуска скрипта достаточно одного файла из архива. Я предпочитаю 32-хбитную Unicode-версию AutoHotkeyU32.exe как наиболее универсальную. Можно откомпилировать в отдельный ехе-шник (компилятор тоже в архиве). _________________ Windows 11 | TC DreamLair eternal pre-α | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		mrmerak
 
  
  Joined: 20 Aug 2007 Posts: 441
 
  | 
		
			
				  (Separately) Posted: Fri Oct 19, 2018 14:14    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				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
 
  | 	 
  _________________ TC 9.51 | Win10 1903 | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |