Useful Batch Files
This repository contains a curated collection of useful batch files I’ve created over the years.
Batch files are plain text scripts that execute a series of commands through the Windows command interpreter.
Table of Contents
- Getting Started
- Backup Folder
- Check Website
- Create Event Log
- Enable or Disable Scheduled Tasks
- FTP Transfer
- Kill Running Program
- Move Files (Inbound)
- Move Files (Outbound)
- Network Status
- Search and Replace Text
- Send Email
- License
- Resources
- Credits
Getting Started
Each Batch File (located in the source folder of this repository) contains a description of what it does and how to use it.
Additionally, some of the Batch File contain a :HELP
section that will display the description and usage when the Batch File is executed with the /?
parameter.
To run a Batch File, simply double-click on it using Windows Explorer or run it from the command line.
Tip
Use the following Batch Files with Windows Task Scheduler to create an automated process.
Backup Folder
Backup a selected folder and create an archive folder with today’s date appended to it.
Backup_Folder.bat
Check Website
Check if an endpoint is reachable.
Check_Website.bat
Create Event Log
Create an Error Event Code in Windows Event Viewer.
Create_Event_Log.bat
Enable or Disable Scheduled Tasks
Pass in a parameter (ENABLE or DISABLE) to Enable or Disable a Windows Scheduled Task.
Enable_or_Disable_Scheduled_Tasks.bat
FTP Transfer
Transfer files from a FTP Server to a Local file location.
FTP_Transfer.bat
Kill Running Program
Kill a running task.
Kill_Running_Program.bat
Move Files (Inbound)
Move files from a Outbound Location/System to a Inbound Location/System using SMB protocol.
Move_Files_Inbound.bat
Move Files (Outbound)
Move files from an Inbound Location/System to an Outbound Location/System using SMB protocol.
Additionally, this script will create an archive folder to archive the outbound files on a daily basis.
Move_Files_Outbound.bat
Network Status
Endlesslly ping an endpoint and record the network drops in a log file.
Network_Status.bat
Search and Replace Text
Search a file for a specific string and replace it with another string.
Search_and_Replace_Text.bat
Send Email
Send an email from a batch file via Powersell.
Send_Email.bat
Resources
- Batch File
- Batch File Commands
- Batch File Tutorial
License
This project is released under the terms of the MIT License, which permits use, modification, and distribution of the code, subject to the conditions outlined in the license.
- The MIT License provides certain freedoms while preserving rights of attribution to the original creators.
- For more details, see the LICENSE file in this repository. in this repository.
Credits
Author: Scott Grivner
Email: scott.grivner@gmail.com
Website: scottgrivner.dev
Reference: Main Branch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
@echo off setlocal for /f "skip=3 tokens=3" %%i in ( '2^>nul reg query HKLM\SOFTWARE\Microsoft\.NETFramework /v InstallRoot' ) do ( for /f %%j in ( '2^>nul dir /a:d /b %%i ^| findstr /rc:"3.5"' ) do set "csc=%%i%%j\csc.exe" ) if "%csc%" equ "" echo.Compiler not found.&goto:eof set t="%tmp%\source.cs" for /f "tokens=1 delims=:" %%i in ( 'findstr /n "exit /b" "%~f0"' ) do set /a "ofs=%%i+1" more +%ofs% "%~f0">%t% %csc% /nologo /t:exe /out:"%tmp%\app.exe" /optimize+ ^ /debug:pdbonly %t% pushd "%tmp%" app.exe del /f /q app.* source.cs popd endlocal exit /b using System; using System.IO; using System.Reflection; using System.ComponentModel; using Microsoft.Win32.SafeHandles; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; [assembly: AssemblyCompany("greg zakharov")] [assembly: AssemblyCopyright("Copyright (C) 2015 greg zakharov")] [assembly: AssemblyCulture("")] [assembly: AssemblyDescription("")] [assembly: AssemblyTitle("pipelist")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: CLSCompliant(true)] namespace PipeList { internal sealed class AssemblyInfo { private Type a; internal AssemblyInfo() { a = typeof(Program); } internal String Copyright { get { return ((AssemblyCopyrightAttribute)Attribute.GetCustomAttribute( a.Assembly, typeof(AssemblyCopyrightAttribute) )).Copyright; } } internal String Title { get { return ((AssemblyTitleAttribute)Attribute.GetCustomAttribute( a.Assembly, typeof(AssemblyTitleAttribute) )).Title; } } internal String Version { get { return a.Assembly.GetName().Version.ToString(2); } } } //AssemblyInfo [StructLayout(LayoutKind.Explicit, Size = 8)] internal struct LARGE_INTEGER { [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [FieldOffset(0)] internal Int64 QuadPart; [FieldOffset(0)] internal Int32 LowPart; [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [FieldOffset(4)] internal UInt32 HighPart; } //LARGE_INTEGER [StructLayout(LayoutKind.Sequential)] internal struct IO_STATUS_BLOCK { internal UInt32 Status; internal UInt64 Information; } //IO_STATUS_BLOCK [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] internal struct FILE_DIRECTORY_INFORMATION { internal UInt32 NextEntryOffset; internal UInt32 FileIndex; internal LARGE_INTEGER CreationTime; internal LARGE_INTEGER LastAccessTime; internal LARGE_INTEGER LastWriteTime; internal LARGE_INTEGER ChangeTime; internal LARGE_INTEGER EndOfFile; internal LARGE_INTEGER AllocationSize; internal UInt32 FileAttributes; internal UInt32 FileNameLength; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] internal Byte[] FileName; } //FILE_DIRECTORY_INFORMATION internal static class NativeMethods { [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] internal static extern SafeFileHandle CreateFile( String lpFileName, UInt32 dwDesiredAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, UInt32 dwFlagsAndAttributes, IntPtr hTemplateFile ); [DllImport("ntdll.dll")] internal static extern Int32 NtQueryDirectoryFile( SafeFileHandle FileHandle, IntPtr Event, IntPtr ApcRoutine, IntPtr ApcContext, out IO_STATUS_BLOCK IoStatusBlock, [Out] IntPtr FileInformation, UInt32 Length, UInt32 FileInformationClass, [MarshalAs(UnmanagedType.Bool)] Boolean ReturnSingleEntry, IntPtr FileName, [MarshalAs(UnmanagedType.Bool)] Boolean RestartScan ); } //NativeMethods internal sealed class Program { const UInt32 FileDirectoryInformation = 1; const UInt32 GENERIC_READ = 0x80000000; const Int32 STATUC_SUCCESS = 0x00000000; static T PtrToStrc<T>(IntPtr p) { return (T)Marshal.PtrToStructure(p, typeof(T)); } static void GetLastError() { Console.WriteLine(new Win32Exception(Marshal.GetLastWin32Error()).Message); } static void Main() { AssemblyInfo ai = new AssemblyInfo(); SafeFileHandle pipes; IntPtr ptr, ofs; IO_STATUS_BLOCK isb; Int32 ntstatus; Boolean query = true; pipes = NativeMethods.CreateFile( @"\\.\pipe\", GENERIC_READ, FileShare.ReadWrite | FileShare.Delete, IntPtr.Zero, FileMode.Open, 0, IntPtr.Zero ); if (pipes.IsInvalid) { GetLastError(); return; } Console.WriteLine("{0} v{1}\n{2}\n", ai.Title, ai.Version, ai.Copyright); Console.WriteLine("{0,-40}{1,14}{2,20}", "Pipe Name", "Instances", "Max Instances"); Console.WriteLine("{0,-40}{1,14}{2,20}", "---------", "---------", "-------------"); ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(FILE_DIRECTORY_INFORMATION))); try { ofs = ptr; while (true) { ntstatus = NativeMethods.NtQueryDirectoryFile( pipes, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, out isb, ofs, 1024, FileDirectoryInformation, false, IntPtr.Zero, query ); if (ntstatus != STATUC_SUCCESS) break; while (true) { FILE_DIRECTORY_INFORMATION fdi = PtrToStrc<FILE_DIRECTORY_INFORMATION>(ofs); IntPtr name = (IntPtr)( Marshal.OffsetOf(typeof(FILE_DIRECTORY_INFORMATION), "FileName").ToInt64() + ofs.ToInt64() ); Console.WriteLine("{0,-40}{1,14}{2,20}", Marshal.PtrToStringUni(name, (Int32)(fdi.FileNameLength / 2)), fdi.EndOfFile.LowPart, fdi.AllocationSize.LowPart ); if (fdi.NextEntryOffset == 0) break; ofs = (IntPtr)(ofs.ToInt64() + fdi.NextEntryOffset); } //while query = false; } //while } catch (Exception e) { Console.WriteLine(e.Message); } finally { Marshal.FreeHGlobal(ptr); } } } //Program } |
Pleasant Windows 10 is a collection of one-click batch files by Ghacks reader Joern that improve the operating system in various ways.
While there are plenty of tweaking and privacy tools out there for Windows 10, all have in common that you cannot verify any of the operations before they are executed.
This may not be an issue for some users, but if you want full control of what is happening in this regard, you may prefer a solution that is more open.
Batch files are ideal for that, as they open in any plain text editor. You may then go through them line by line to verify what they do before executing them.
Another benefit of this approach is that you may adjust the batch file as you see fit. This is especially useful if multiple changes are made by it to the system.
Pleasant Windows 10
Note: It is recommended that you create a system restore point, or a backup before you run any of the tweaks. While you can verify what they do by opening them in a plain text editor, it is always better to be on the safe side and create a backup so that you can restore the system to a previous state should things go wrong.
Note 2: We recommend that you check the batch files before you run them, as you may adjust them as you see fit. You may not want some settings or features changed for instance.
The following batch files are included in the archive
- Advanced Explorer Settings — This changes more than a dozen File Explorer related settings on Windows 10 that turn of animations, enable menus, or turn off things like Toasts.
- Disable Automatic App Updates — Turns off automatic updates for Windows Store applications.
- Disable Automatic Windows Updates — Turns off automatic updates for the Windows 10 operating system itself.
- Disable Cortana Completely — Rename the cortana process searchUI.exe to searchUI.bak. This will kill the process permanetly and save your ressources.
- Disable Forced Reboot after Update — Blocks Windows from enforcing a reboot after updates that require one.
- Disable Lockscreen — Turns off the Windows 10 lockscreen.
- Disable Telemetry — Turns off Windows 10 Telemetry.
- Disable Unnecessary Services — This disables the MapsBroker, DoSvc and Wsearch services
- Enable Defender Malware Protection —Â Â Enables Windows malware Protection.
- Enable Secure Microsoft Edge Settings — Tweaks Microsoft Edge for security. Changes include turning of Flash and Cortana, enabling continuous browsing, and more.
- Get Back Old Vertical Desktop Icon Distance —Â Changes the vertical icon spacing on the desktop.
- Hide Cortana — Disables Cortana, and with it web searches and other search related parameters. The Microsoft way of disabling Cortana.
- Hide OneDrive — Hides OneDrive and disables several related settings.
- Re-enable Cortana Completely — This preferences turns Cortana on again.
- Uninstall Unnecessary Apps — Removes ten apps that Windows 10 ships with including 3D Builder, Skype App, Getting Started, or Voice Recorder.
- Enable Administrator Account — This preference enables the hidden administrator account in Windows.
- Enable Standby instead of Hibernate — Switch powerstate from hibernation (slow) to standby .
- Get apps access for Administrator Account — Enable access to applications for the administrator account.
Verdict
The batch files offer two advantages over software programs. First, they are verifiable which means that you can check them out to make sure they do what they are supposed to do and nothing else.
This means as well that you can modify them to your liking, and even restore settings to their original values, for instance by creating a copy of a batch file and modifying values and commands accordingly.
Second, you can run them with a single-click, and they do all the work in the background without launching a program interface first. (Thanks Joern!)
Download
You can download the collection of batch files with a click on the following link:Â (Download Removed)
The password is joern.
Summary
Article Name
Improve Windows 10 with one-click batch files
Description
Pleasant Windows 10 is a collection of one-click batch files by Ghacks reader Joern that improve the operating system in various ways.
Author
Martin Brinkmann
Publisher
Ghacks Technology News
Logo
Advertisement
- Главная
- Песочница
- Общий форум
- Командная строка, CMD, BAT.
Полезные и нужные команды и батники.
|
кодecho Y|chkdsk c: /F 2. Проверка и исправлениее системных файлов:3.Онлайн проверка и исправление образа системы кодDISM /Online /Cleanup-Image /RestoreHealth 4. Вход в Advanced Boot Menu напрямую из вина: кодshutdown.exe /r /o /t 00 5. Систем инфо6. Вызов msconfig: кодCMD /K if defined PROCESSOR_ARCHITEW6432 (%WINDIR%\sysnative\msconfig.exe) else (%WINDIR%\system32\msconfig.exe) 7. Устранение гибернации и файла hiberfile:8. Информация о MAC и IP сетевых карт9. LogOff код@echo off И еще один супер мощный твик для всех ОС Моя разработка, скорее всего переделка. кодWindows Registry Editor Version 5.00 Последний раз редактировалось: dimo70 (2019-09-08 21:02), всего редактировалось 2 раз(а) _________________ |
Отправлено: 04-Сен-2019 22:25
(спустя 11 часов)
Отправлено: 04-Сен-2019 22:25
(спустя 11 часов)
lowe.story |
|
Отправлено: 05-Сен-2019 07:53
(спустя 9 часов)
Отправлено: 05-Сен-2019 07:53
(спустя 9 часов)
xowlet |
Последний раз редактировалось: xowlet (2019-09-05 10:02), всего редактировалось 1 раз |
Отправлено: 05-Сен-2019 08:21
(спустя 28 минут)
Отправлено: 05-Сен-2019 08:21
(спустя 28 минут)
dimo70 |
_________________ |
Отправлено: 05-Сен-2019 10:13
(спустя 1 час 51 минута)
Отправлено: 05-Сен-2019 10:13
(спустя 1 час 51 минута)
timon45 |
69964
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics] данный твик у вас в 3-х местах [HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics] Универсальным для всех ОС я бы его не назвал для для 10ки многие работать не будут ; UAC File Virtualization Driver отвечает за виртуализацию реестра и файлов. |
Отправлено: 05-Сен-2019 10:23
(спустя 10 минут)
Отправлено: 05-Сен-2019 10:23
(спустя 10 минут)
xowlet |
|
Отправлено: 05-Сен-2019 10:31
(спустя 7 минут)
Отправлено: 05-Сен-2019 10:31
(спустя 7 минут)
dimo70 |
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run] Последний раз редактировалось: dimo70 (2019-09-05 10:48), всего редактировалось 1 раз _________________ |
Отправлено: 05-Сен-2019 10:45
(спустя 14 минут)
Отправлено: 05-Сен-2019 10:45
(спустя 14 минут)
lowe.story |
|
Отправлено: 05-Сен-2019 10:53
(спустя 7 минут)
Отправлено: 05-Сен-2019 10:53
(спустя 7 минут)
dimo70 |
_________________ |
Отправлено: 05-Сен-2019 11:40
(спустя 46 минут)
Отправлено: 05-Сен-2019 11:40
(спустя 46 минут)
xowlet |
|
Отправлено: 05-Сен-2019 11:42
(спустя 2 минуты)
Отправлено: 05-Сен-2019 11:42
(спустя 2 минуты)
dimo70 |
_________________ |
Отправлено: 07-Сен-2019 17:02
(спустя 2 дня 5 часов)
Отправлено: 07-Сен-2019 17:02
(спустя 2 дня 5 часов)
gera_serg |
[HKEY_USERS\.DEFAULT\Keyboard Layout\Preload] Keyboard Ctrl+Shift [HKEY_CURRENT_USER\Keyboard Layout] NUM-Keyboard ON [HKEY_USERS\.DEFAULT\Control Panel\Keyboard] |
Отправлено: 07-Сен-2019 17:21
(спустя 19 минут)
Отправлено: 07-Сен-2019 17:21
(спустя 19 минут)
dimo70 |
_________________ |
Отправлено: 07-Сен-2019 17:41
(спустя 20 минут)
Отправлено: 07-Сен-2019 17:41
(спустя 20 минут)
Ander_73 |
|
Отправлено: 07-Сен-2019 17:58
(спустя 17 минут)
Отправлено: 07-Сен-2019 17:58
(спустя 17 минут)
Viktor_Kisel |
|
Страница 1 из 3
Текущее время: 14-Май 07:12
Часовой пояс: UTC + 3
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы
Содержание статьи:
- Создание BAT файлов: на примерах
- Основы! С чего начать (Вариант 1: проверка пинга)
- Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
- Вариант 3: создание резервной копий файлов и точки восстановления в Windows
- Вариант 4: очистка временных папок
- 📌 Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
- Как запускать BAT-файл от имени администратора (и по расписанию)
- Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
- Вопросы и ответы: 6
Доброго дня!
На меня тут недавно «наехали» (в хорошем смысле 😊): «Дескать… говоришь вот создать BAT-файл*, а как это сделать-то? Учишь непонятно чему… лишь плохому…».
* Для справки.
BAT-файл — текстовый файл со списком команд. При его запуске (открытии) — интерпретатор ОС выполняет их одну за одной. Это очень удобно для выполнения повторяющихся задач (например, если вам нужно запускать каждый раз игру с высоким приоритетом, или чистить определенную папку, и др.).
*
Собственно, в рамках сегодняшней статьи решил исправиться — кратко показать, как их создавать, и дать несколько примеров для решения самых популярных рутинных задач (довольно часто для этого BAT’ники и используют).
Думаю, что многие пользователи смогут слегка до-корректировать мои примеры и создадут для себя вполне рабочие BAT-файлы. 😉
Итак…
*
Создание BAT файлов: на примерах
Основы! С чего начать (Вариант 1: проверка пинга)
Для начала покажу, как создать простейший BAT-файл для проверки пинга (для общего понимания процесса…).
ШАГ 1
Первым делом необходимо создать самый обычный текстовый файл (такой же, как вы создаете в блокноте). Достаточно кликнуть правой кнопкой мыши по любому свободному месту на рабочем столе и выбрать в меню «Текстовый файл» (Text Document). 👇
Создаем текстовый документ
ШАГ 2
Название файла у этого текстового документа может быть любым (но лучше использовать англ. символы).
Далее следует открыть этот файл и вписать в него нужные команды. В своем примере я впишу только одну (если вы делаете это впервые — рекомендую повторить ее вместе со мной):
ping ya.ru -t
Разумеется, файл нужно сохранить. Кстати, вместо ya.ru можно указать google.ru или любой другой адрес (обычно, многие указывают свой игровой сервер, и запускают этот BAT’ник, когда в игре наблюдаются лаги).
Копируем в него нашу команду и сохраняем файл.
ШАГ 3
Затем обратите внимание на расширение файла — у текстового файла оно «.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
ШАГ 4
Теперь достаточно кликнуть по «нашему» файлу правой кнопкой мыши и запустить его от имени администратора — автоматически появится окно командной строки с проверкой пинга. Удобно? Вполне! 👌
Идет проверка пинга!
ШАГ 5
Чтобы отредактировать BAT-файл (и каждый раз не переименовывать его туда-сюда) — рекомендую вам установить блокнот Notepad++ (уже ранее добавлял его в подборку).
После установки Notepad++ — достаточно кликнуть ПКМ по BAT-файлу — и в появившемся меню выбрать опцию редактирования…
Редактировать 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);
Название адаптера
- далее идет пауза — скрипт будет ждать нажатия какой-нибудь клавиши (примечание: т.к. у нас будет запущена игра — это окно скроется из вида, и оно не будет нам мешать);
- когда через часик-другой игра будет закрыта, — вы увидите окно командной строки и нажмете какую-нибудь клавишу — будет снова включен авто-поиск Wi-Fi сетей. Удобно? 😉
*
Вариант 3: создание резервной копий файлов и точки восстановления в Windows
Приведу наиболее простую и довольно надежную команду для создания резервных копий файлов и папок:
xcopy C:\Games D:\backup /f /i /y /s
*
Она копирует один каталог в другой (просто, без вопросов и расспросов). Если вам нужно скопировать 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). 👇
Если точки нет (как в моем примере ниже) — прочитайте это!
Точки восстановления создаются!
*
Вариант 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 // достаточно поменять лишь концовку команды) — однако, будьте аккуратны, легко можно что-нибудь запороть!
*
📌 Вариант 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-файла для форматирования флешки
*
Как запускать BAT-файл от имени администратора (и по расписанию)
Способ 1
Самый простой вариант — нажать ПКМ по BAT-файлу и в контекстном меню выбрать «Запуск от имени администратора». См. скрин ниже. 👇
Нажать ПКМ по BAT-файлу
Способ 2
Можно нажать ПКМ по BAT-файлу и создать для него ярлык на рабочем столе. См. скрин ниже. 👇
Создание ярлыка к BAT-файлу
Далее в свойства ярлыка поставить галочку, что задача должна выполняться от имени администратора. Таким образом при каждом двойном клике по этому ярлыку — BAT’ник будет запускаться от админа. 👌
Свойства ярлыка — запускать с админ. правами
Способ 3
В планировщике заданий Windows (чтобы его открыть нажмите Win+R, и используйте команду control schedtasks) можно настроить запуск BAT-файла в нужное время и с нужными правами (т.е. автоматически). Это может быть весьма удобно, и серьезно упростить работу со множеством задач (очистка Windows от мусора, создание бэкапов и пр.) — точно никогда не забудете!
Более подробно о том, как создать задачу в планировщике заданий — я 📌 рассказывал в этой заметке.
Триггеры — когда выполнять задачу, расписание
*
Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
Чаще всего это бывает с теми BAT, в которых есть русские символы и выставлена «неправильная» кодировка (например, они часто встречаются в пути к папке: «C:\Games\Лучшие игры»). Кстати, в этом случае BAT-файл работать не будет: после попытки выполнения операции с «крякозабрами» — появится ошибка и окно CMD будет закрыто…
*
Что можно сделать:
- первое: попробуйте в начало BAT-файла добавить код @chcp 1251 (и сохраните файл!);
- второе: установите блокнот Notepad++ и задействуйте OEM-866 кодировку в меню: «Кодировки/Кодировки/Кириллица/OEM-866» (предварительно, для бэкапа, скопируйте весь текст текущего документа в другой файл).
OEM 866 — пример, что нужно включить // программа Notepad++
*
👉 Доп. в помощь!
Вместо текста иероглифы, квадратики и крякозабры (в браузере, Word, тексте, окне Windows).
*
Дополнения по теме — приветствуются!
Удачи!
👋