批处理,作为Windows操作系统中一个强大的命令行工具,可以帮助我们自动化处理各种日常电脑任务,从而提高效率,解决一些小麻烦。以下是一些实用的批处理例子,涵盖文件管理、任务自动化等多个方面。

1. 创建快捷方式

@echo off
setlocal
set "ShortcutName=MyShortcut.lnk"
set "ShortcutPath=%~dp0"
set "TargetPath=C:\Program Files\Notepad\notepad.exe"
powershell -Command "& {New-Object -ComObject WScript.Shell}.CreateShortcut('%ShortcutPath%\\%ShortcutName%').Target = '%TargetPath%'"
endlocal
echo Shortcut '%ShortcutName%' created successfully.

2. 检查系统更新

@echo off
echo Checking for Windows Updates...
wusa.exe /quiet /norestart /detectnow

3. 清理临时文件

@echo off
DEL /Q /F /S /C "%temp%\*"

4. 文件夹同步

@echo off
xcopy "C:\Source\Folder\*" "C:\Destination\Folder\" /E /I /R /Y /D

5. 自动创建备份

@echo off
copy "C:\Source\Folder\*" "C:\Backup\Folder\" /E /I /R /Y

6. 文件搜索

@echo off
for /R "C:\Path\To\Folder" %%F in (*.txt) do echo Found %%F

7. 文件重命名

@echo off
for %%F in (*.txt) do ren "%%F" "Renamed_%%~nF"

8. 创建自解压包

@echo off
powershell -Command "& {New-Object -ComObject WScript.Shell}.CreateShortcut('%~dp0SelfExtractingInstaller.exe').TargetPath = '%~dp0MyInstaller.exe'"
echo Self-extracting installer created.

9. 关闭不活跃的进程

@echo off
taskkill /IM processname.exe /F

10. 自动重启计算机

@echo off
shutdown /r /t 0

11. 创建文本文件

@echo off
echo This is a sample text file. > "Sample.txt"

12. 删除指定文件

@echo off
DEL /Q "C:\Path\To\File.txt"

13. 检查磁盘空间

@echo off
@for /f "tokens=2 delims=: " %%a in ('wmic logicaldisk get freespace /format:list') do set FreeSpace=%%a
echo Free space on the disk: %FreeSpace%

14. 自动安装软件

@echo off
start /wait "C:\Path\To\Installer.exe" /s

15. 每日定时任务

@echo off
schtasks /create /tn "DailyBackup" /tr "C:\Path\To\BackupScript.bat" /sc daily /st 01:00

16. 文件夹监听

@echo off
powershell -Command "& {New-Object System.IO.FileSystemWatcher}.Path = 'C:\Path\To\Folder'"

17. 自动清理浏览器缓存

@echo off
del /s /f /q "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache\*"

18. 自动关闭不响应的应用

@echo off
taskkill /F /IM not Responding.exe

19. 删除特定扩展名的文件

@echo off
for %%F in (*.log) do del /q "%%F"

20. 复制文件并替换已有文件

@echo off
copy /E /R /Y "C:\Source\Folder\" "C:\Destination\Folder\"

21. 文件夹内所有文件重命名

@echo off
for %%F in (*.jpg) do ren "%%F" "NewName_%%~nF"

22. 删除文件前备份

@echo off
copy "C:\Path\To\File.txt" "C:\Backup\Folder\" /E /I /R /Y
del /q "C:\Path\To\File.txt"

23. 创建系统还原点

@echo off
rstrui.exe

24. 查看文件属性

@echo off
for %%F in (*.txt) do echo %%~F : %%~zF

25. 文件夹内所有文件排序

@echo off
dir /b /o:n "C:\Path\To\Folder\" > "SortedFiles.txt"

26. 自动安装Windows更新

@echo off
wuauclt /updatenow

27. 创建文件夹结构

@echo off
mkdir "C:\New\Folder\Subfolder1\Subfolder2"

28. 清理Windows日志

@echo off
for /d %%d in ("%windir%\Logs") do rmdir /s /q "%%d"

29. 查找并替换文件内容

@echo off
findstr /s /m /c:"OldText" "C:\Path\To\Folder\*.txt" > "SearchResults.txt"

30. 自动下载文件

@echo off
start http://example.com/file.zip

31. 复制文件到多个目录

@echo off
copy "C:\Path\To\File.txt" "C:\Destination\Folder1\" /C /D
copy "C:\Path\To\File.txt" "C:\Destination\Folder2\" /C /D

32. 文件夹内所有文件大小排序

@echo off
dir /b /a-d /s /o:n "C:\Path\To\Folder\" | findstr /R /C:"Name" | findstr /C:"Size" | findstr /C:"Date"

33. 删除临时文件夹

@echo off
for /d %%d in ("%temp%\*") do rmdir /s /q "%%d"

34. 创建压缩文件

@echo off
7z a -t7z "CompressedFiles.7z" "C:\Path\To\Folder\*"

35. 解压缩文件

@echo off
7z x "C:\Path\To\CompressedFile.7z"

36. 文件夹内所有文件备份

@echo off
xcopy /E /I /R /Y /D "C:\Source\Folder\*" "C:\Backup\Folder\"

37. 查找特定日期的文件

@echo off
for /r "C:\Path\To\Folder" %%F in (*.txt) do (
    for /f "tokens=1-4 delims=/ " %%a in ('echo %%~tf') do (
        set "year=%%b"
        set "month=%%c"
        set "day=%%d"
        if "%%a"=="2023" if "%%b"=="08" if "%%c"=="10" (
            echo Found: %%F
        )
    )
)

38. 文件夹内所有文件复制到另一个位置

@echo off
copy "C:\Path\To\Folder\*" "C:\New\Location\"

39. 自动更新批处理文件

@echo off
(
    echo @echo off
    echo powershell -Command "& {(New-Object Net.WebClient).DownloadFile('http://example.com/yourscript.bat', '%~f0')}"
) > "%~dp0update.bat"

40. 删除文件夹内的旧文件

@echo off
for /r "C:\Path\To\Folder" %%F in (*.txt) do (
    for /f "tokens=1-4 delims=/ " %%a in ('echo %%~tf') do (
        set "filedate=%%b/%%c/%%d"
        set "currentdate=%date%"
        if !filedate! lss !currentdate! (
            del "%%F"
        )
    )
)

41. 检查磁盘碎片整理

@echo off
chkdsk /f

42. 文件夹内所有文件大小排序并保存为列表

@echo off
dir /b /a-d /s /o:n "C:\Path\To\Folder\" > "SortedFilesList.txt"

43. 删除临时文件夹中的所有内容

@echo off
for /d %%d in ("%temp%\*") do rmdir /s /q "%%d"
del /q "%temp%\*"

44. 查找并替换文件中的特定字符串

@echo off
for /r "C:\Path\To\Folder" %%F in (*.txt) do (
    findstr /s /m /c:"OldText" "%%F" > "%%~nF.tmp"
    del "%%F"
    move "%%~nF.tmp" "%%F"
)

45. 创建ZIP文件

@echo off
7z a -tzip "CompressedFiles.zip" "C:\Path\To\Folder\*"

46. 解压缩ZIP文件

@echo off
7z x "C:\Path\To\CompressedFile.zip"

47. 文件夹内所有文件移动到另一个位置

@echo off
move "C:\Path\To\Folder\*" "C:\New\Location\"

48. 检查文件夹大小

@echo off
for /d %%d in ("C:\Path\To\Folder\*") do (
    7z a -t7z "FolderSize.7z" "%%d"
    del "%%d"
)
7z l "FolderSize.7z"
del "FolderSize.7z"

49. 自动运行程序

@echo off
@echo off
start "" "C:\Path\To\Program.exe"

50. 查找特定文件类型的文件

@echo off
for /r "C:\Path\To\Folder" %%F in (*.exe) do (
    echo Found: %%F
)

以上这些批处理例子可以帮助你更高效地管理文件和任务,让你在日常使用电脑时更加得心应手。记得在尝试这些批处理脚本之前,确保你已经备份了重要数据,并理解每个脚本的具体功能。