本文目录导读:

编写电脑批量和自动化脚本,需要先明确你的操作系统(Windows 或 macOS/Linux),因为脚本语法和工具完全不同,以下是针对不同平台的批量脚本编写与执行指南。
Windows 平台
批处理脚本 (.bat / .cmd)
这是最基础的Windows批量脚本。
基本结构:
@echo off REM 这是注释 echo 开始执行任务... REM 创建文件夹 mkdir C:\Temp\Backup REM 复制文件 copy "D:\Documents\*.docx" "C:\Temp\Backup\" echo 任务完成! pause
常见操作:
- 文件操作:
copy、move、del、ren - 目录操作:
mkdir、rmdir、cd、dir - 循环:
for %%i in (*.txt) do echo %%i - 条件判断:
if exist file.txt、if %var%==value
执行方法:
- 将脚本保存为
.bat或.cmd文件 - 双击运行
- 或在命令行中执行
script.bat
PowerShell 脚本 (.ps1)
更强大的Windows脚本工具,支持对象管道。
示例脚本:
# 获取所有Excel文件
$files = Get-ChildItem -Path "C:\Data\" -Filter *.xlsx
# 批量重命名
foreach ($file in $files) {
$newName = $file.Name -replace " ", "_"
Rename-Item -Path $file.FullName -NewName $newName
}
# 批量修改文件内容
Add-Content -Path "C:\Logs\*.txt" -Value "Processed on $(Get-Date)"
执行前须知: 默认情况下,PowerShell禁止执行脚本,需要先修改执行策略:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # 执行方法 .\script.ps1 # 或 powershell -ExecutionPolicy Bypass -File script.ps1
VBScript (.vbs)
适用于Windows的自动化脚本,可操作COM对象。
示例:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Open "C:\Data\report.xlsx"
objExcel.ActiveWorkbook.SaveAs "C:\Output\report.csv", 6
objExcel.Quit
macOS / Linux 平台
Bash Shell 脚本 (.sh)
最通用的Unix/Linux脚本。
基本结构:
#!/bin/bash
# 这是注释
echo "开始批量处理..."
cd /path/to/files
# 批量重命名
for file in *.jpg; do
mv "$file" "${file%.jpg}_backup.jpg"
done
# 批量解压
for zip in *.zip; do
unzip "$zip" -d "${zip%.zip}"
done
echo "处理完成"
执行方法:
# 添加执行权限 chmod +x script.sh # 执行 ./script.sh
Python 脚本 (.py)
跨平台的最强脚本语言,推荐使用。
示例脚本:
import os
import shutil
from pathlib import Path
# 批量文件操作
source_dir = Path("/path/to/source")
dest_dir = Path("/path/to/dest")
for file in source_dir.glob("*.txt"):
# 复制并重命名
shutil.copy2(file, dest_dir / f"{file.stem}_processed{file.suffix}")
# 或修改文件内容
with open(file, 'r') as f:
content = f.read()
content = content.replace("old_text", "new_text")
with open(file, 'w') as f:
f.write(content)
执行方法:
python script.py # 或 python3 script.py
常用批量任务模板
文件批量重命名
Windows (PowerShell):
Get-ChildItem -Path "C:\Photos\" -Filter "IMG_*.jpg" |
Rename-Item -NewName { $_.Name -replace "IMG_", "Photo_" }
macOS/Linux (Bash):
for f in IMG_*.jpg; do
mv "$f" "${f/IMG_/Photo_}"
done
日志文件清理
Windows Batch:
@echo off forfiles -p "C:\Logs" -m *.log -d -7 -c "cmd /c del @path"
Linux Bash:
find /var/log -name "*.log" -mtime +7 -exec rm {} \;
最佳实践与调试技巧
- 先测试后执行:在小范围文件上测试,或先用
echo打印出要执行的命令 - 添加日志记录:记录执行结果和错误
- 处理错误:添加错误检查和处理逻辑
- 备份重要数据:执行前先备份
调试技巧:
- Windows Batch:移除
@echo off查看执行过程 - PowerShell:使用
-WhatIf参数预览操作但不实际执行 - Bash:使用
set -x启用调试模式 - Python:使用
print()输出中间结果
推荐工具与进阶
- AutoHotkey (Windows):键盘鼠标自动化
- Selenium:浏览器自动化测试
- Ansible:服务器批量配置管理
- GitHub Actions:自动化工作流
- Cron (Linux) / 任务计划程序 (Windows):定时执行脚本
选择哪种脚本语言取决于你的具体需求和学习曲线,对于初学者,建议从 Batch (Windows) 或 Bash (Linux) 开始;如果需要更复杂的逻辑,Python 是最灵活的选择。
标签: 脚本编写
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。