Батник для очистки папки от файлов
'данный скрипт удаляет в директори все файлы, у которых
'дата последней модификации старше определенного количества дней
'синтаксис таков
'killdateparam.vbs /path: /killdate: /recur:
' - папка над которой будут производиться действия
' - указывает старше скольки дней файлы будут удаляться
' - использовать или нет рекурсию
'например
'killdateparam.vbs /path:c:\0\ /killdate:8 /recur:true
'Отмечу также, что если параметры содержат пробелы,
'в нашем случае это может быть путь к папке, то его надо
'брать в кавычки
'
'ISA
'
set objNamedArgs=Wscript.Arguments.Named
'Ничего не удаляем, пока пробегаем по возвращенному набору файлов.
'Набор может быть перемешан.
'Создаём массив файловых объектов, чтобы этого избежать
on error resume next 'in case of 'in use' files.
arFiles(n).delete true
if err.number = 0 then
nDeleted = nDeleted + 1
sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
on error resume next
' добавляем файлы на удаление в массив
'
set folder = fso.getfolder(sPath)
set files = folder.files
for each file in files
' на всякий случай отслеживаем ошибки доступа к
' свойству Date
'
dtlastmodified = null
on error resume Next
dtlastmodified = file.datelastmodified
on error goto 0
if not isnull(dtlastmodified) Then
if dtlastmodified < vKillDate then
count = ubound(arFilesToKill) + 1
redim preserve arFilesToKill(count)
set arFilesToKill(count) = file
end if
end if
next
if bIncludeSubFolders then
for each fldr in folder.subfolders
SelectFiles fldr.path,vKillDate,arFilesToKill,true
next
end if
end sub
- Помечено в качестве ответа Vasily Gusev Moderator 30 июня 2009 г. 4:19
Такой скрипт все когдато писали :-) Мои 5 коп:
Delete (or show) files older on date
name = "FileMask"
helpstring = "Files to delete. Default=*.bak"
type = "string"
required = "false"
/>
name = "DateOld"
helpstring = "Date to old (in hours). Default=72"
type = "string"
required = "false"
/>
name = "Dir"
helpstring = "Directory. Default=current"
type = "string"
required = "false"
/>
name = "DateType"
helpstring = "Date type ( [Created] | Acc[essed] | Mod[ified] | Old (by Oldes date) | New (by newes date)). Default=Created"
type = "string"
required = "false"
/>
name = "SubDir"
helpstring = "Include subdirectory. Default=no."
type = "simple"
required = "false"
/>
name = "Show"
helpstring = "Show deleted files plus show size (if need) in M,K,b. May used as simple parameter. Default=no."
type = "string"
required = "false"
/>
name = "DED"
helpstring = "Delete empty directorys. Default=no."
type = "simple"
required = "false"
/>
name = "DER"
helpstring = "Delete empty root directory. Default=no."
type = "simple"
required = "false"
/>
name = "Demo"
helpstring = "actualy not delete files (need show parameter). Default=delete."
type = "simple"
required = "false"
/>
name = "Rev"
helpstring = "Reverse. Delete files NOT old by date."
type = "simple"
required = "false"
/>
Example: DelByDate.wsf /FileMask:*.log /DateOld:24
if WScript.Arguments.Named.Item("FileMask") <> "" then
FileMask = WScript.Arguments.Named.Item("FileMask")
Else
FileMask = "*.bak"
end if
if WScript.Arguments.Named.Item("DateOld") <> "" then
DateOld = WScript.Arguments.Named.Item("DateOld")
Else
DateOld = 72
end if
if WScript.Arguments.Named.Item("Dir") <> "" then
CurDir = WScript.Arguments.Named.Item("Dir")
Else
CurDir = "."
end if
if WScript.Arguments.Named.Item("DateType") = "" then
DateType = "Created"
Elseif LCase(Mid(WScript.Arguments.Named.Item("DateType"),1,3)) = "acc" Then
DateType = "Accessed"
ElseIf LCase(Mid(WScript.Arguments.Named.Item("DateType"),1,3)) = "mod" Then
DateType = "Modified"
ElseIf LCase(Mid(WScript.Arguments.Named.Item("DateType"),1,3)) = "old" Then
DateType = "Old"
ElseIf LCase(Mid(WScript.Arguments.Named.Item("DateType"),1,3)) = "new" Then
DateType = "New"
end if
if WScript.Arguments.Named.Exists("Show") then
ShowParam = "/FileMask:" & FileMask& " /DateOld:" & DateOld & " /Dir:" & CurDir & " /DateType:" & DateType
If SubDir Then ShowParam = ShowParam & " /SubDir"
if WScript.Arguments.Named.Exists("Demo") then ShowParam = ShowParam & " /Demo"
if WScript.Arguments.Named.Exists("Rev") then ShowParam = ShowParam & " /Rev"
if WScript.Arguments.Named.Exists("DED") then ShowParam = ShowParam & " /DED"
if WScript.Arguments.Named.Exists("DER") then ShowParam = ShowParam & " /DER"
Size = ""
If LCase(WScript.Arguments.Named.Item("Show")) = "m" Then Size = ":M"
If LCase(WScript.Arguments.Named.Item("Show")) = "k" Then Size = ":K"
If LCase(WScript.Arguments.Named.Item("Show")) = "b" Then Size = ":b"
Wscript.Echo "Running parameters:" & vbcrlf & ShowParam & " /Show" & Size & vbcrlf
End If
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = False
' To regular file mask a'la : "*.bak" "*.lo?"
regEx.Pattern = "\."
FileMask = regEx.Replace(FileMask,"\.")
regEx.Pattern = "\?"
FileMask = regEx.Replace(FileMask,".")
regEx.Pattern = "\*"
FileMask = regEx.Replace(FileMask,".*")
If Subdir Then
Set fsoSubs=CreateObject("Scripting.FileSystemObject")
Set RootDir=fsoSubs.GetFolder(CurDir)
For each SubFold in RootDir.SubFolders
Call DelInSubFolders ( SubFold.Path, FileMask, DateOld, DateType )
Next
End if
Call DelFilesInFolder ( CurDir, FileMask, DateOld, DateType )
Set fso=CreateObject("Scripting.FileSystemObject")
Set MyDir=fso.GetFolder(CurDir)
if MyDir.Files.Count = 0 AND MyDir.SubFolders.Count = 0 AND WScript.Arguments.Named.Exists("DER") Then
If WScript.Arguments.Named.Exists("Show") Then
WScript.Echo "Delete empty root directory " & MyDir.Path
End if
if Not WScript.Arguments.Named.Exists("Demo") then MyDir.Delete (True)
End if
Sub DelInSubFolders ( Folder, FileMask, Hours, TimeType)
Set fso=CreateObject("Scripting.FileSystemObject")
Set MyDir=fso.GetFolder(Folder)
Call DelFilesInFolder ( Folder, FileMask, Hours, TimeType)
For each SubFold in MyDir.SubFolders
Call DelInSubFolders ( SubFold.Path, FileMask, Hours, TimeType)
Next
if WScript.Arguments.Named.Exists("DED") AND MyDir.Files.Count = 0 AND MyDir.SubFolders.Count = 0 Then
If WScript.Arguments.Named.Exists("Show") Then
WScript.Echo "dir - " & MyDir.Path
End if
if Not WScript.Arguments.Named.Exists("Demo") then MyDir.Delete (True)
End if
End Sub
Sub DelFilesInFolder ( Folder, FileMask, Hours, TimeType)
Set fso=CreateObject("Scripting.FileSystemObject")
Set MyDir=fso.GetFolder(Folder)
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = False
regEx.Pattern = FileMask
For Each DFile in MyDir.Files
If regEx.Test(DFile.Name) Then
if TimeType = "Accessed" Then
TimeToCheck = DFile.DateLastAccessed
ElseIf TimeType = "Modified" Then
TimeToCheck = DFile.DateLastModified
ElseIf TimeType = "Old" Then
TimeToCheck = DFile.DateLastModified
if TimeToCheck > DFile.DateLastAccessed Then
TimeToCheck = DFile.DateLastAccessed
End if
if TimeToCheck > DFile.DateCreated Then
TimeToCheck = DFile.DateCreated
End if
ElseIf TimeType = "New" Then
TimeToCheck = DFile.DateLastModified
if TimeToCheck < DFile.DateLastAccessed Then
TimeToCheck = DFile.DateLastAccessed
End if
if TimeToCheck < DFile.DateCreated Then
TimeToCheck = DFile.DateCreated
End if
Else
TimeToCheck = DFile.DateCreated
end If
if TimeToCheck < (now()-timeserial(Hours,0,0)) XOR WScript.Arguments.Named.Exists("Rev") Then
If WScript.Arguments.Named.Exists("Show") Then
Size = ""
If LCase(WScript.Arguments.Named.Item("Show")) = "m" Then Size = " ( " & Int(Dfile.Size/1024/10.24)/100 & " M)"
If LCase(WScript.Arguments.Named.Item("Show")) = "k" Then Size = " ( " & Int(Dfile.Size/10.24)/100 & " K)"
If LCase(WScript.Arguments.Named.Item("Show")) = "b" Then Size = " ( " & Dfile.Size & " )"
WScript.Echo "file - " & DFile.Path & Size
End if
if Not WScript.Arguments.Named.Exists("Demo") then Dfile.Delete(True)
end if
End if
Next
В лаборатории стоят комьютеры. Посетители постоянно копируют на компьютеры в папку d:\shared\ всякий мусор, игры и т.п. Нужно написать командный файл, который на нескольких компьютерах стирал бы все содержимое папки d:\shared\, кроме содержимого папки d:\shared|labs.
При нажатии на кнопку,должны выводиться только папки этой папки и их содержимое
При нажатии на кнопку,должны выводиться только папки этой папки и их содержимое.Не должны.
Скопировать все содержимое из одной папки в другую
Объясните, рожалуйста, как скопировать все содержимое из папки /abc в папку /bcd( нужно скопировать.
Удалить содержимое папки кроме одной подпапки с ее содержимым
Думаю из заголовка понятно. Есть папка data, в ней куча файлов и папок, но надо удалить все, кроме.
Нужен батник, который копирует содержимое одной папки в другую
Вот такой код, который копирует содержимое одной папки в другую! Но есть несколько нерешенных.
NewTech, поясните, для чего в каждой строчке ставите@ .
Alexandr First, код резервирует папку системой и не даёт её удалять. Всё содержимое папки удаляется:
Alexandr First, нужно будет взять батник, код которого тебе уже выше написали скопировать на компьютеры сети и с помощью PsExec их запускать со своей (или админской машины).
PSTOOLS
от синтаксис запуска PsExec
я же использую так:
Dragokas, хитрая попытка, но на ХР не работает. Код папку сохранил, но содержимое очистил.
внимание! может создаться не удаляемая папка con!
Тогда тоже коротко, но безопасно (но и привилегий, вероятно, понадобится больше):
сохраняем в папке labs вложенные папки и файлы.
Добавлено через 9 минут
сохраняем в папке labs вложенные папки и файлы.
Чуток некорректно работает. Код постоянно создаёт лишнюю папку labs. В итоге получиться d:\shared\labs\labs\labs\labs………
Lelush, у нас принято писать просто чем дополнен код, а не полностью его переписывать, еще и с ошибкой в имени диска.
temp могла использоваться как системная %temp%, поэтому я ее и не удалял.
По хорошему, нужно уточнение от ТС подойдет ли вообще такой способ.
Пока в этой теме я нормального кода не наблюдаю.
sov44, извини, попоробую твой вариант еще раз. Может, я таки не правильно пути указал, и он заработает. Но прошлый раз удалил мне все папки на уровень выше от исходной.
Добавлено через 10 часов 7 минут
Таки разобрал скрипт sov44. Не рекомендую к использованию.
В сети существует огромное количество различных программ направленных на оптимизацию компьютера временных файлов. каждому контролировать процесс собственноручно, или создать оптимизатор под свои нужды который денег и активациями статье стандартными средствами
Для начала откроем Блокнот и создадим bat файл. Назовите его как вам удобно, например «Cleaner». Давайте наполним его командами, которые будут выполняться поочередно, одна
Первым делом очисти папки TEMP, обычно несколько
Для этого будем использовать команду DEL (удалить) /F /S папки, подпапки
DEL /F /S /Q %WINDIR%\Temp\*.*
DEL /F /S /Q %SYSTEMDRIVE%\Temp\*.*
DEL /F /S /Q %Temp%\*.*
DEL /F /S /Q %Tmp%\*.*
Благодаря переменным командам Windows, сделать нашу программу гибкой, где операционная система установлена например, D:\,
%WINDIR%\Temp\ — равносильно C:\Windows\temp
%SYSTEMDRIVE% - системный раздел, C:\
%Temp% и переменные пути для папок временных файлов.
Логи, баки, гиды
Система продукты любят вести «бортовой журнал» совершенных действий В зависимости программ, этих файлов может скопиться мегабайт. Команда для удаления:
DEL /F /S /Q %SYSTEMDRIVE%\*.log
DEL /F /S /Q %SYSTEMDRIVE%\*.bak
DEL /F /S /Q %SYSTEMDRIVE%\*.gid
Суть этих команд что будут удалены все файлы по маске (*.log, *.bak, *.gid) диске, включая подкаталоги
Создание BAT файлов: на примерах
Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
Чаще всего это бывает с теми BAT, в которых есть русские символы и выставлена "неправильная" кодировка (например, они часто встречаются в пути к папке: "C:\Games\Лучшие игры" ). Кстати, в этом случае BAT-файл работать не будет: после попытки выполнения операции с "крякозабрами" — появится ошибка и окно CMD будет закрыто.
Нафиг использовать какой-то мутный файлообменик с обратным отсчетом для скачивания, если есть бесплатные диски от яндекс, мейл, гугл, дропбокс, где можно без проблем расшарить файл.
@Zerox - предлагаю почистить данную тему, т.к. в ней очень много АБСОЛЮТНО ненужной информации! И это я уже не говорю о левых обменниках, ссылки на которые уже недействительны, а другие вот-вот уже отомрут!
Я уже потерялся в этой теме.
@konyuhov, что вы тут постите? Что это за ссылки?
Да как правильно заметили выше.
при выборе бесплатных программ, стараюсь искать такие чтоб бесплатны и для коммерческого использования, правда не знаю относится ли муниципальная сельская школа к коммерческим организациям.
хотя есть софт где конкретно указано, бесплатно для учебных организаций если таковая пометка есть, то естественно работаю с ним.
думал об этом, как нибудь попробую.
смоделировал ситуацию и что мне не хватает в этом случае для комфортной работы.
вот как-то так. надеюсь, объяснил.
из старых программ, которые я как-то вык
ладывал, но точно уже не помню.
вот некоторые из них даю для ознакомления:
пожалуста, прочтите.
Данный планировщик чистки любого кеша как браузеров так и от системных мусора
работает по дням указанным в файле vbs
с выводом сообщалок перед самой чисткой.
туда включен напоминатель, который перед очисткой кеша дает подсказку, что
мол готов а на следующем входе убирает кеши.
отличие от стандартных чистильщиков что в них предлагаются папок 5-6 для уборки
можно указать сколько угодно папок без ограничений.
ТАКЖЕ работает без планировщика от запуска со стола.
есть ручная очистка в выбором папки указанной самим юзером.
удобная прога, когда на диске много хлама от разных кешей и не только кешей.
можно делать очистку своих папок в любое время со стола от ярлыка в цветном режиме окна cmd или в пустом окне без показа хода выполнения.
editor_cache v3.5 (3).zip - это удобный грабер кеша.
предложил 6 прогрессов копирования из кеша.
берет любой кеш форматном и безформатный.
на данный момент все 6 прогрессов работают в норме.
глав. задача вынимать нужный кеш из браузера
преобразуя в графические форматы и потом на просмотр в папку
поддерживает любой тип кеша, такие как firefox xrom и соотвественно ie
кроме всего остального может сортировать по дате и размеру и паралельно вынимая
всю или частично графику и то что сортировано перегонит в папку.
еще и другие функции о которых можно почитать из справки.
также тащит видео флешки и многое другое.. что есть в онлайн кеше.
для удобства ввел возврат на исходный профиль по ум.
в общем менять папки профилей кеша теперь гораздо легче.
можно управлять прогрессом по своему усмотрению
можно удлиннить, укоротить символ прогресса и многое еще чего..
по поводу флеш игр:
вложил инфу про то, как быстро найти флешки через мою прогу.
после недолгих раздумий пришел к оптимальному выводу по поводу отсуствующего в браузерах компонета.
в архив положил расширения от хрома и фирефокса, так что скачивать их по ходу даже не придется.
хромовские расширения google и edge в магазине которых почти не достать
собственно речь о отом, как по быстрому их отыскать в кеше с загрузкой на комп.
через добавленные мною расширения сделать это намного проще.
BB v4.3 (2) def-browser - тем интересна, что может добавлять свои ключи в параметры любых браузеров
браузер только сопоставляет по ум. и делает это без ключей юзера.
данная прога обходит все эти ограничения.
свои ключи обычно держат в ярлыке запуска, а там места мало и вдобавок
нет возможности открывать ссылки url файлов сразу ключами.
с этой прогой это можно сделать.
есть подробные рекомендации по ускорению работы браузеров популярных edge whale и др.
не все знают как сделать тихие браузеры мало напрягающие процессор компа
ряд предложенных ключей не дадут заводить вентилятр ноута, тем самым обеспечивая тихую работу браузера даже на слабом железе.
есть подсказки по старым расширениям из хром-магазина, которые в браузер ни лезут обычным путем, а только в режиме разработчика.
сделал кое какие добавки:
убрал лишнме строки проверки dat.vbs в случае редактирования даты он не восстанвливал сам себя.
по этой причине нельзя было вбить собсвенный формат в дате.
и еще переделал порядок вывод оборудования в wmic.
самая последняя версия.
BYTES-0-DEL.zip
Ищет 0-байтовые файлы в режиме теста покажет протокол найденных
по ходу удалит по выбору юзера.
удобна тем что есть режим предосмотра перед удалялкой.
большое кол-во их создают некоторые редакторы что приводит постепенно к захламлению винчестира.
фактически продлевает работу диска.
кеш значков- (1.4).zip
меняет значок папки и другие, как известно после добавки в реестр своих значков
клавиша F5 делает легкую встряску стола и по сути не меняет значок папки
эта прога решает такую задачу и любые значки за секунду можно установить бз лишних усилий.
другим словами эта прога со сменой на лету обходит ограничения F5.
все программы полезные в хозяйстве.
свои программы люблю и хочу чтобы другие тоже о них знали.
будет времечко выложу снова, а пока
благодарю за взаимность.
Вариант 3: создание резервной копий файлов и точки восстановления в Windows
Приведу наиболее простую и довольно надежную команду для создания резервных копий файлов и папок:
Она копирует один каталог в другой (просто, без вопросов и расспросов). Если вам нужно скопировать 2 или 3 (или более) каталогов — просто создайте несколько подобных строк.
- C:\Games — тот каталог, который будем копировать (все подкаталоги и файлы из них тоже будут скопированы);
- D:\backup — тот каталог, куда будет всё скопировано;
- /f — выводит имена файлов (чтобы вы видели, что происходит);
- /i — создает новый каталог, если на диске "D:" нет каталога "backup" (см. строку выше);
- /y — перезаписывает старые файлы новыми;
- /s — копирует каталоги и подкаталоги, если в них есть какие-то файлы.
Для создания точки восстановления можно использовать следующий код:
wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "MyRestorePoint", 100, 7
pause
После запуска подобного BAT-файла — точка восстановления будет создана в авто-режиме! Это очень удобно делать перед установкой нового софта, железа и пр. (чтобы проверить есть ли точка — нажмите Win+R , и используйте команду: rstrui ). 👇
Точки восстановления создаются!
Очистка папки Prefetch
Напомню, Prefetch (.pf расширение) содержится информация открываемых программах для более быстрой загрузки. можно всё удалить, система будет грузиться быстрее, раз) медленнее. снова система создаст кэш этих часто запускаемых программа. Иногда Prefetch содержится кэш давно удаленных программа, поэтому размеры папки бесконтрольно увеличиваются, по умолчанию до
А вот для очистки папки Prefetch:
DEL /F /S /Q %WINDIR%\Prefetch\*.*
Вариант 4: очистка временных папок
Здесь есть несколько вариантов "подхода". Я приведу один из самых простейших, см. 4 строки ниже. 😉
del /q /f /s %WINDIR%\Temp\*.*
del /q /f /s %SYSTEMDRIVE%\Temp\*.*
del /q /f /s %Tmp%\*.*
del /q /f /s %Temp%\*.*
- BAT-файл с этими строками чистит временные папки в Windows (как правило, в них скапливается один "мусор", которые занимает лишь место на диске);
- %WINDIR%\Temp\ — это папка "C:\Windows\Temp";
- %SYSTEMDRIVE% — это системный диск "C:\";
- *.* — маска для удаления всех файлов;
- /q /f /s — удаление всех каталогов и подкаталогов (без вопросов).
📌 Что можно еще добавить в наш скрипт:
- del /q /f /s %WINDIR%\Prefetch\*.* — эта строка очистит папку Prefetch (в ней сохраняется кэш от различного софта. При удалении той или иной программы — кэш в папке остается, и со временем — ее размер может разрастись);
- del /q /f /s %SYSTEMDRIVE%\*.log — удаление всех Log-файлов с системного диска (это файлы, в которых содержится история запуска программы, например. Во многих случаях они бесполезны). Большинство программ, кстати, ведут логи, со временем они разрастаются и могут отнять сотни МБ на диске;
- При помощи предыдущей команды можно удалить и другие файлы с системного диска (например, с расширением .tmp или .bak // достаточно поменять лишь концовку команды) — однако, будьте аккуратны, легко можно что-нибудь запороть!
Очистка диска
Удалить ненужные файлы можно Disk Cleanup. Многим наверняка приходилось работать инструментом через графический интерфейс, можно запустить и строки. параметров командной строки (ключей) Disk Cleanup можно настроить файлов определенных типов. Поначалу работа строкой может показаться слишком сложной, но те, кто освоит ее, смогут убедиться данного метода.
При запуске Disk Cleanup строки используется команда Cleanmgr, которая имеет три параметра:
Автоматизация удаления файлов Cleanmgr — двухэтапный процесс. Сначала команда запускается /d и /sageset, чтобы указать набор файлов, подлежащих удалению, выполняется повторно /sagerun для проведения собственно очистки.
Параметр /d позволяет выбрать диск, будут удалены ненужные файлы.
Параметр /sageset используется для выбора типов файлов, которые следует удалить (например, временные файлы установки, старые файлы Chkdsk), данному набору типов файлов уникального номера. Синтаксис команды /d и /sageset:
cleanmgr /d X: /sageset:n
где символ целевого диска, а n — уникальное числовое значение от 65535. хранит набор файлов номер
Параметр /sagerun используется для обработки утилитой Disk Cleanup набора файлов, указанных параметром /sageset. Команда имеет следующий вид:
где n — номер удаляемого набора файлов. команды /sagerun параметр /d
Покажем, как организовать группу файлов для удаления, применить Disk Cleanup. Необходимо открыть окно командной строки команду
cleanmgr /d C: /sageset:100
затем нажать клавишу Enter. диалоговое окно Disk Cleanup Settings. диалоговом окне следует выбрать типы файлов, подлежащих удалению. OK Disk Cleanup сохранит эту группу файлов под номером 100. Затем нужно ввести команду
чтобы автоматизировать применение инструмента Disk Cleanup файлам. Таким образом, процедура весьма проста.
Осталось только объединить два этапа команду оператором & — выполнить команду успешном выполнении команды 1.
Доброго дня!
На меня тут недавно "наехали" (в хорошем смысле 😊): "Дескать. говоришь вот создать BAT-файл*, а как это сделать-то? Учишь непонятно чему. лишь плохому. ".
* Для справки.
BAT-файл — текстовый файл со списком команд. При его запуске (открытии) — интерпретатор ОС выполняет их одну за одной. Это очень удобно для выполнения повторяющихся задач (например, если вам нужно запускать каждый раз игру с высоким приоритетом, или чистить определенную папку, и др.).
*
Думаю, что многие пользователи смогут слегка до-корректировать мои примеры и создадут для себя вполне рабочие BAT-файлы. 😉
Как запускать BAT-файл от имени администратора (и по расписанию)
Самый простой вариант — нажать ПКМ по BAT-файлу и в контекстном меню выбрать "Запуск от имени администратора" . См. скрин ниже. 👇
Нажать ПКМ по BAT-файлу
Можно нажать ПКМ по BAT-файлу и создать для него ярлык на рабочем столе. См. скрин ниже. 👇
Создание ярлыка к BAT-файлу
Далее в свойства ярлыка поставить галочку, что задача должна выполняться от имени администратора. Таким образом при каждом двойном клике по этому ярлыку — BAT'ник будет запускаться от админа. 👌
Свойства ярлыка — запускать с админ. правами
В планировщике заданий Windows (чтобы его открыть нажмите Win+R , и используйте команду control schedtasks ) можно настроить запуск BAT-файла в нужное время и с нужными правами (т.е. автоматически). Это может быть весьма удобно, и серьезно упростить работу со множеством задач (очистка Windows от мусора, создание бэкапов и пр.) — точно никогда не забудете!
Более подробно о том, как создать задачу в планировщике заданий — я 📌 рассказывал в этой заметке.
Триггеры - когда выполнять задачу, расписание
Папка Dllcache, кто такая
Dllcache нужна для службы Windows File Protection (WFP). необходима для обеспечении в целостности системных файлов, копии каждого защищаемого файла только пытается заменить или изменить защищаемый файл, то восстановлен Назначение:
— В dllcache хранятся копии части системных это большой объём.
— Dllcache растёт работы Win XP, установки новых обновлений (патчей).
— Служба WFP конфигурируется и утилиты sfc.exe. можно задать max размер dllcache полностью отключить данную службу.
Если установлены все драйвера программное обеспечение, может избавиться информации:
Сначала устанавливаем размер кеша например в 0:
sfc /cachesize=0
Затем чистим кеш:
sfc /purgecache
Система самостоятельно заполняет кеш размера (если он не 0).
📌 Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
Этот мини-скриптик может быть весьма полезный (например, если у вас "подвисает" проводник при обращении к флешки // или не запускается управление дисками).
*
Собственно, здесь все делается аналогично. Чтобы не удлинять процесс — вот вам сразу же сам скриптик (ссылка на RAR-архив с BAT-файлом), который "набросал" за 5 мин. (и еще 10 потратил на проверку 😉). Его текст (выделен коричневым):
@echo off
wmic logicaldisk get name, VolumeName, Size, FileSystem, NumberOfBlocks, description
set /p adisk="Введите букву диска/флешки для форматирования: "
set /p named="Введите имя для диска/флешки (любое, например, my_disk): "
set /p number="Нажмите l — для формат. в NTFS, 2 — в FAT32, 3 — для в ExFAT. Ваше число: "if "%number%" == "1" (
format %adisk%: /FS:NTFS /Q /V:%named%
pause
exit /b
)if "%number%" == "2" (
format %adisk%: /FS:FAT32 /Q /V:%named%
pause
exit /b
)if "%number%" == "3" (
format %adisk%: /FS:ExFAT /Q /V:%named%
pause
exit /b
)
Он довольно простой, но будьте с ним аккуратны! Если укажите не ту букву накопителя — можно легко отформатировать не тот диск.
Как он работает (запускать под именем администратора):
- сначала он показывает информацию по всем подключенным дискам (и их буквы);
- далее запрашивает букву диска/флешки, которую нужно отформатировать (в своем примере я ввел G и нажал Enter) ;
- затем нужно ввести название диска — может быть любым (главное, чтобы название было коротким и лучше использовать только латиницу!). Я использовал my_flash ;
- после выбрать файловую систему (их тут три), и нажать Enter;
- если все введено корректно — диск/флешка будет отформатирована! 👌
Пример работы BAT-файла для форматирования флешки
Основы! С чего начать (Вариант 1: проверка пинга)
Для начала покажу, как создать простейший BAT-файл для проверки пинга (для общего понимания процесса. ).
Первым делом необходимо создать самый обычный текстовый файл (такой же, как вы создаете в блокноте). Достаточно кликнуть правой кнопкой мыши по любому свободному месту на рабочем столе и выбрать в меню "Текстовый файл" (Text Document). 👇
Создаем текстовый документ
Название файла у этого текстового документа может быть любым (но лучше использовать англ. символы).
Далее следует открыть этот файл и вписать в него нужные команды. В своем примере я впишу только одну (если вы делаете это впервые — рекомендую повторить ее вместе со мной):
Копируем в него нашу команду и сохраняем файл.
Затем обратите внимание на расширение файла — у текстового файла оно ".TXT". Кстати, если у вас не отображаются расширения — можете 📌 прочитать эту заметку или просто введите в командной строке две вот эти команды (последовательно):
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000000 /f
taskkill /F /IM explorer.exe & start explorer
Нам нужно переименовать файл так, чтобы вместо ".TXT" — было новое расширение ".BAT" !
Меняем расширение TXT на BAT
Теперь достаточно кликнуть по "нашему" файлу правой кнопкой мыши и запустить его от имени администратора — автоматически появится окно командной строки с проверкой пинга. Удобно? Вполне! 👌
Идет проверка пинга!
Чтобы отредактировать BAT-файл (и каждый раз не переименовывать его туда-сюда) — рекомендую вам установить блокнот Notepad++ (уже ранее добавлял его в подборку).
После установки Notepad++ — достаточно кликнуть ПКМ по BAT-файлу — и в появившемся меню выбрать опцию редактирования.
Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
Этот скрипт рекомендуется попробовать пользователям ноутбуков, кто играет в сетевые игры.
*
Этот BAT-файл я создал на одном своем рабочем ноутбуке (он уже довольно "старый", и нередко притормаживал при запуске игр). Однако, благодаря нескольким строкам кода — удается вполне комфортно играть. 👌
Что за строки нужно добавить в BAT (выделены коричневым):
cmd.exe /c start /high /D "C:\Games\Counter-Strike 1.6\" hl.exe -game cstrike -appid 10 -nojoy -noipx -noforcemparms -noforcemaccel
netsh wlan set autoconfig enabled=no interface="Wi-Fi"
pause
netsh wlan set autoconfig enabled=yes interface="Wi-Fi"
pause
- запускает игру CS с высоким приоритетом (это позволяет снизить кол-во притормаживаний в играх). Разумеется, вместо строки "C:\Games\Counter-Strike 1.6\" hl.exe — вы можете указать свою игру и ее расположение;
- отключает авто-поиск Wi-Fi сетей (это снижаем пинг и увел. скорость сети // правда не дает подключаться к другим Wi-Fi сетям). Кстати, вместо "Wi-Fi" — нужно указать название своего адаптера (посмотрите так: нажмите Win+R, и используйте команду ncpa.cpl ) ;
Системная программа Disk Cleanup
Читайте также: