在电脑使用过程中,我们经常会遇到一些重复性的任务,比如文件整理、系统清理、定时备份等。这些任务如果手动操作,不仅费时费力,还容易出错。而使用批处理(Batch Processing)脚本,我们可以轻松实现电脑的自动化操作,提高工作效率。下面,我将为你分享50招实用的cmd批处理技巧,让你轻松掌握电脑自动化操作。

1. 文件夹创建

@echo off
setlocal
set folderName=MyNewFolder
if not exist %folderName% mkdir %folderName%
endlocal
echo Folder created: %folderName%

2. 文件复制

@echo off
setlocal
set sourcePath=C:\sourceFolder
set destinationPath=D:\destinationFolder
xcopy %sourcePath%\* %destinationPath% /e /i /c /h /r /y
endlocal
echo Files copied from %sourcePath% to %destinationPath%

3. 文件夹移动

@echo off
setlocal
set sourcePath=C:\sourceFolder
set destinationPath=D:\destinationFolder
move /e /i /c /h /r /y %sourcePath%\* %destinationPath%
endlocal
echo Files moved from %sourcePath% to %destinationPath%

4. 文件删除

@echo off
setlocal
set filePath=C:\temp\file.txt
del /f /q %filePath%
endlocal
echo File deleted: %filePath%

5. 文件重命名

@echo off
setlocal
set oldName=oldname.txt
set newName=newname.txt
ren %oldName% %newName%
endlocal
echo File renamed from %oldName% to %newName%

6. 文件夹列表

@echo off
setlocal
set folderPath=C:\sourceFolder
for /r %folderPath% %%f in (*) do echo %%f
endlocal
echo List of files in %folderPath%

7. 文件搜索

@echo off
setlocal
set searchKeyword=keyword
for /r C:\ %%f in (*%searchKeyword%*) do echo Found in: %%f
endlocal
echo Search results for "%searchKeyword%"

8. 文件夹大小

@echo off
setlocal
set folderPath=C:\sourceFolder
for /d %%d in ("%folderPath%") do (
    set folderSize=%%~z$d
    echo Folder size of %folderPath%: %folderSize% bytes
)
endlocal

9. 文件内容替换

@echo off
setlocal
set filePath=C:\temp\file.txt
set oldText=oldText
setText=newText
for /f "tokens=*" %%a in ('type "%filePath%"') do (
    set "line=%%a"
    set "line=!line:%oldText%=%setText%!"
    echo !line!
)
echo Replaced "%oldText%" with "%setText%" in %filePath%
endlocal

10. 文件夹压缩

@echo off
setlocal
set folderPath=C:\sourceFolder
set zipPath=C:\sourceFolder.zip
cd /d "%folderPath%"
7z a -tzip "%zipPath%" .
endlocal
echo Compressed folder %folderPath% into %zipPath%

11. 文件夹解压

@echo off
setlocal
set zipPath=C:\sourceFolder.zip
set destinationPath=C:\destinationFolder
cd /d "%destinationPath%"
7z x "%zipPath%"
endlocal
echo Extracted %zipPath% to %destinationPath%

12. 系统时间设置

@echo off
setlocal
set time=2023-01-01 12:00:00
for /f "tokens=1-5 delims=/:" %%a in ("%time%") do (
    set "hour=%%a"
    set "minute=%%b"
    set "second=%%c"
    set "month=%%d"
    set "day=%%e"
    wmic /namespace:\\root\cimv2 PATH Win32_OperatingSystem SET /value CurrentTime "%hour%:%minute%:%second%"
    wmic /namespace:\\root\cimv2 PATH Win32_OperatingSystem SET /value LocalTime "%hour%:%minute%:%second%"
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value DaylightsSavingTime 0
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value Local = 1
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value TimeZone = "GMT Standard Time"
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value Year = %month%
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value Month = %day%
)
endlocal
echo System time set to %time%

13. 系统日期设置

@echo off
setlocal
set date=2023-01-01
for /f "tokens=1-3 delims=/:" %%a in ("%date%") do (
    set "year=%%a"
    set "month=%%b"
    set "day=%%c"
    wmic /namespace:\\root\cimv2 PATH Win32_OperatingSystem SET /value LocalTime "%day%/%month%/%year%"
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value DaylightsSavingTime 0
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value Local = 1
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value TimeZone = "GMT Standard Time"
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value Year = %month%
    wmic /namespace:\\root\cimv2 PATH Win32 LocalTime SET /value Month = %day%
)
endlocal
echo System date set to %date%

14. 系统关机

@echo off
shutdown /s /t 0

15. 系统重启

@echo off
shutdown /r /t 0

16. 系统休眠

@echo off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0

17. 系统锁定

@echo off
rundll32.exe user32.dll,LockWorkStation

18. 系统音量设置

@echo off
set volume /s 50

19. 系统屏幕亮度设置

@echo off
nircmd.exe monitor setbrightness 50

20. 系统网络连接

@echo off
netsh wlan show profiles

21. 系统磁盘清理

@echo off
cleanmgr /sagerun:1

22. 系统文件备份

@echo off
robocopy C:\sourceFolder D:\backupFolder /s /e /mt

23. 系统文件恢复

@echo off
robocopy D:\backupFolder C:\sourceFolder /s /e /mt

24. 系统定时任务

@echo off
schtasks /create /tn "MyTask" /tr "C:\path\to\script.bat" /sc onstart

25. 系统网络诊断

@echo off
ping www.google.com

26. 系统IP配置

@echo off
ipconfig /all

27. 系统进程管理

@echo off
tasklist

28. 系统服务管理

@echo off
sc query state= all

29. 系统版本信息

@echo off
systeminfo

30. 系统驱动程序列表

@echo off
driverquery

31. 系统硬件信息

@echo off
wmic cpu get name

32. 系统内存信息

@echo off
wmic memorychip get capacity

33. 系统磁盘空间

@echo off
wmic logicaldisk get freespace

34. 系统网络连接速度

@echo off
netstat -an

35. 系统进程占用

@echo off
tasklist /fi "PID eq 1234"

36. 系统服务状态

@echo off
sc query state= all

37. 系统环境变量

@echo off
set

38. 系统路径变量

@echo off
path

39. 系统系统时间

@echo off
time

40. 系统日期

@echo off
date

41. 系统版本

@echo off
ver

42. 系统用户列表

@echo off
net user

43. 系统用户组列表

@echo off
net localgroup

44. 系统用户权限

@echo off
icacls

45. 系统文件权限

@echo off
icacls

46. 系统网络连接

@echo off
netstat -an

47. 系统进程管理

@echo off
tasklist

48. 系统服务管理

@echo off
sc query state= all

49. 系统版本信息

@echo off
systeminfo

50. 系统驱动程序列表

@echo off
driverquery

以上50招cmd批处理技巧,可以帮助你轻松实现电脑的自动化操作。通过学习和实践这些技巧,你可以提高工作效率,节省时间和精力。希望这些技巧对你有所帮助!