|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » delete C:\*.* /exclude=zzz.lst ? |
|
|
delete C:\*.* /exclude=zzz.lst ?
|
Ветеран Сообщения: 842 |
Профиль | Отправить PM | Цитировать У меня на C: лежат файлы, к примеру -
/~ [папка] /BOOT.INI /NTDETECT.COM /NTLDR как мне удалить всё остальное исключив этот полезный контент? вариант с батником если не трудно тоже пожалуйста, так как разные бывают задачи? |
|
------- Отправлено: 15:43, 12-06-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать #include <File.au3> _FileDeleteEx("C:\Folder", "*.*", "|BOOT.INI|NTDETECT.COM|NTLDR|") Func _FileDeleteEx($sPath, $sMask, $sExclude_List="") Local $aFiles = _FileListToArray($sPath, $sMask) For $i = 1 To UBound($aFiles)-1 If $sExclude_List = "" Or Not StringInStr($sExclude_List, "|" & $aFiles[$i] & "|") Then _ FileDelete($sPath & "\" & $aFiles[$i]) Next EndFunc |
------- Отправлено: 16:12, 12-06-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать C:\Folder - это для чего? Какраз из этой папки и удаляет! Хотя я хотел папку как исключение.
Я переименовал C:\Folder в свой каталог винды C:\~ и скрипт снёс все потроха винды, что только смог Хотя результат ожидался обратный. Причём мусор всякий на диске C:\ так и остался не тронутым. C:\~ (винда) C:\Ultra$ISO C:\BOOT.INI C:\desktop.ini C:\h2r3F.tmp C:\h2r35.tmp C:\h2r86.tmp C:\New AutoIt v3 Script.au3 C:\NTDETECT.COM C:\NTLDR C:\PrePict.htm C:\Rar$CM06.422 C:\Rar$SF06.203 C:\RECYCLED - это у меня файл ;-) C:\z.cmd C:\z.reg |
------- Отправлено: 20:00, 15-06-2009 | #3 |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата semiono:
|
|
------- Отправлено: 20:19, 15-06-2009 | #4 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
Цитата semiono:
Что именно нужно сделать? Удалить всё на диске C: кроме указанных файлов? подробнее задачу следует описывать... |
|||
------- Отправлено: 20:34, 15-06-2009 | #5 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Цитата beve:
Цитата Creat0R:
Если указать что удалять, то можно и батником. Надо указать наоборот то, что не следует удалять. Я хотел удалить всё с диска C: кроме папки виндовс и загрузочных файлов. Program Files и Documents and Settings у меня там нет. Хотя не помешало бы обойти стороной корзину и system volume information, хотя у меня лично таких папок нет, и pagefile.sys тоже не плохо бы учесть, опять же на всякий случай, но можно и не учитывать. |
||
------- Отправлено: 21:52, 15-06-2009 | #6 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
Цитата semiono:
Цитата semiono:
#include <File.au3> $sExclude_List = "BOOT.INI|NTDETECT.COM|NTLDR|RECYCLED" $sExclude_List = "|" & $sExclude_List & "|" $sPath = "C:\Folder" $aFiles = _FileListToArray($sPath, "*.*") For $i = 1 To UBound($aFiles)-1 If Not StringInStr($sExclude_List, "|" & $aFiles[$i] & "|") Then If StringInStr(FileGetAttrib($sPath & "\" & $aFiles[$i]), "D") Then DirRemove($sPath & "\" & $aFiles[$i], 1) Else FileDelete($sPath & "\" & $aFiles[$i]) EndIf EndIf Next |
|||
------- Отправлено: 22:21, 15-06-2009 | #7 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось semiono, 15-06-2009 в 23:35. Отправлено: 23:19, 15-06-2009 | #8 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 23:45, 15-06-2009 | #9 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Оффтопик... Пожалуйста!!
Код: $InstallDir = RegRead("HKLM\Software\Native Instruments\AkoustikPiano","InstallDir") $file = FileOpen($InstallDir & "\AkoustikPiano.reg", 10) FileWrite($file, "Windows Registry Editor Version 5.00" & @CRLF & @CRLF) FileWrite($file, "[HKEY_LOCAL_MACHINE\Software\Native Instruments\AkoustikPiano]" & @CRLF) если x86 WinXP то обычно HKLM\Software\Native Instruments..... если x64 WinXP то так HKLM\Software\Wo6432Node\Native Instruments.... как можно такой код зделать? что вообще с этим @OSArch делать? так чтоли If @OSArch = 1 then... ??? И как лучше, два блока написать для разных архитектур, или зделать одну переменную $var под ветку реестра, которую потом менять по условию? Напишите полностью код? Если понятно конечно что я спрашиваю? Да впринцыпе тут всё просто, в разных x86 x64 запись реестра может быть в разных местах, и различием будет лишь Wo6432Node |
------- Отправлено: 00:11, 16-06-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Ctrl+Alt+Delete в WelcomeSreeen | Klinifin | Microsoft Windows 2000/XP | 5 | 05-04-2009 14:43 | |
ALTLinux - [решено] нет файла menu.lst | hub-lex | Общий по Linux | 20 | 04-04-2009 00:07 | |
ASUS R50 постоянно горит индикатор Zzz | Dis74 | Ноутбуки | 4 | 12-01-2009 11:47 | |
В XCOPY не работает EXCLUDE | AlexKKK | Microsoft Windows NT/2000/2003 | 3 | 15-02-2008 14:52 | |
Delete | khvalera | Программирование и базы данных | 7 | 08-12-2003 17:01 |
|