在日常生活中,我们经常需要修改文件属性,比如修改文件的创建时间、修改时间、只读属性等。手动一个一个去修改既费时又费力,而使用批处理(Batch)脚本,我们可以轻松实现一键批量更改文件属性,大大提升工作效率。下面,我就来给大家详细介绍一下如何使用批处理修改文件属性。
批处理基础
首先,我们需要了解批处理的基本概念。批处理是一种自动化脚本,它可以将一系列命令集合在一起,以自动执行任务。在Windows系统中,批处理脚本通常以.bat为扩展名。
修改文件属性
要使用批处理修改文件属性,我们可以编写一个简单的批处理脚本。以下是一个示例脚本,它将将指定目录下的所有文件的只读属性设置为不可读。
@echo off
setlocal
REM 设置要修改的文件目录
set "directory=C:\path\to\your\files"
REM 遍历指定目录下的所有文件
for %%f in ("%directory%\*") do (
REM 删除文件的只读属性
attrib -r "%%f"
)
echo 文件属性修改完成!
pause
脚本说明
@echo off:关闭命令回显,使脚本运行时不会显示每条命令。setlocal:在当前批处理脚本中设置变量,而不是在全局范围内。set "directory=C:\path\to\your\files":设置要修改的文件目录。for %%f in ("%directory%\*") do (...):遍历指定目录下的所有文件。attrib -r "%%f":删除文件的只读属性。echo 文件属性修改完成!:输出提示信息。pause:暂停脚本执行,等待用户按下任意键继续。
批处理高级应用
除了修改文件只读属性,我们还可以使用批处理脚本实现更多高级功能,如:
- 修改文件创建时间、修改时间。
- 修改文件名。
- 删除文件。
- 复制文件。
- 创建文件夹。
以下是一个修改文件创建时间和修改时间的示例脚本:
”`batch @echo off setlocal
REM 设置要修改的文件目录 set “directory=C:\path\to\your\files”
REM 设置新的创建时间和修改时间 set “newctime=2023-01-01 00:00:00” set “newmtime=2023-01-01 00:00:00”
REM 遍历指定目录下的所有文件 for %%f in (“%directory%*”) do (
REM 修改文件的创建时间
for /f "tokens=1-5 delims=/: " %%a in ("%newctime%") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
for /f "tokens=1-5 delims=/: " %%x in ("%%~tf") do (
set /a "year=%%x"
set /a "month=%%y"
set /a "day=%%z"
set /a "hour=%%w"
set /a "minute=%%v"
set /a "second=%%u"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("%%~tf") do (
set "year=%%a"
set /a "month=%%b"
set /a "day=%%c"
set /a "hour=%%d"
set /a "minute=%%e"
set /a "second=%%f"
)
for /f "tokens=1-5 delims=/: " %%a in ("
