在Windows系统中,命令提示符(cmd)是一个非常强大的工具,可以帮助我们完成各种任务。有时候,我们可能需要查看或修改文件的时间日期格式。以下是一些方法,可以帮助你轻松地在Windows命令提示符中查看和设置文件时间日期格式。
查看文件时间日期格式
使用 dir 命令
在命令提示符中,输入以下命令:
dir /T:W /A:D
这条命令的作用是显示当前目录下所有文件和文件夹的名称以及它们最后修改的日期和时间。/T:W 表示按照时间排序,/A:D 表示显示详细信息。
使用 for 循环和 format 命令
你可以使用 for 循环来遍历当前目录下的所有文件,并使用 format 命令来查看它们的详细信息:
for /D %%F in (*) do (
format "%%F" | findstr "Creation Time" && (
findstr "Last Write Time"
findstr "Last Access Time"
)
)
这个脚本会为每个文件打印出创建时间、最后修改时间和最后访问时间。
设置文件时间日期格式
使用 for 循环和 copy 命令
如果你想要将所有文件的创建时间设置为某个特定的日期和时间,可以使用以下脚本:
for /D %%F in (*) do (
set "CreationTime=2023-01-01 00:00:00"
set "LastWriteTime=2023-01-01 00:00:00"
set "LastAccessTime=2023-01-01 00:00:00"
for /f "tokens=3" %%A in ('wmic datafile where "filename=%%F" get createtimemillis /format:list') do (
set "CreationTime=%%A"
)
for /f "tokens=3" %%A in ('wmic datafile where "filename=%%F" get lastwritetimemillis /format:list') do (
set "LastWriteTime=%%A"
)
for /f "tokens=3" %%A in ('wmic datafile where "filename=%%F" get lastaccesstimemillis /format:list') do (
set "LastAccessTime=%%A"
)
for /f "tokens=2 delims==" %%a in ('echo !CreationTime!' | find "CREATIONTIMEMILLIS") do (
set /a "creationtime=%%a"
)
for /f "tokens=2 delims==" %%a in ('echo !LastWriteTime!' | find "LASTWRITETIMEMILLIS") do (
set /a "lastwritetime=%%a"
)
for /f "tokens=2 delims==" %%a in ('echo !LastAccessTime!' | find "LASTACCESSTIMEMILLIS") do (
set /a "lastaccesstime=%%a"
)
set "datestr=%date:~0,4%%date:~4,2%%date:~6,2%"
set "timestr=%time:~0,2%%time:~3,2%%time:~6,2%"
for /f "tokens=2 delims==" %%a in ('echo !CreationTime!' | find "CREATIONTIMEMILLIS") do (
set "creationtime=%%a"
)
for /f "tokens=2 delims==" %%a in ('echo !LastWriteTime!' | find "LASTWRITETIMEMILLIS") do (
set "lastwritetime=%%a"
)
for /f "tokens=2 delims==" %%a in ('echo !LastAccessTime!' | find "LASTACCESSTIMEMILLIS") do (
set "lastaccesstime=%%a"
)
set /a "creationtime=!creationtime!/10000000"
set /a "lastwritetime=!lastwritetime!/10000000"
set /a "lastaccesstime=!lastaccesstime!/10000000"
for /f "tokens=2 delims==" %%a in ('echo !datestr! !timestr!') do (
set "creationdate=%%a"
)
for /f "tokens=2 delims==" %%a in ('echo !datestr! !timestr!') do (
set "lastwritedate=%%a"
)
for /f "tokens=2 delims==" %%a in ('echo !datestr! !timestr!') do (
set "lastaccessdate=%%a"
)
echo Set creation time for %%F to: !creationdate!
for /f "tokens=2 delims==" %%a in ('wmic path win32_file set creationtime=!creationdate! /format:list') do (exit /b)
echo Set last write time for %%F to: !lastwritedate!
for /f "tokens=2 delims==" %%a in ('wmic path win32_file set lastwritetimemillis=!lastwritedate! /format:list') do (exit /b)
echo Set last access time for %%F to: !lastaccessdate!
for /f "tokens=2 delims==" %%a in ('wmic path win32_file set lastaccesstimemillis=!lastaccessdate! /format:list') do (exit /b)
)
这个脚本会将所有文件的创建时间、最后修改时间和最后访问时间设置为 2023 年 1 月 1 日 00:00:00。
使用 icacls 命令
如果你想修改文件的时间戳,可以使用 icacls 命令。以下命令将指定文件的创建时间、最后修改时间和最后访问时间设置为 2023 年 1 月 1 日 00:00:00:
icacls "C:\path\to\file.txt" /set creators time="2023-01-01 00:00:00"
icacls "C:\path\to\file.txt" /set lastwrite time="2023-01-01 00:00:00"
icacls "C:\path\to\file.txt" /set lastaccess time="2023-01-01 00:00:00"
请注意,这些命令需要以管理员权限运行。
通过以上方法,你可以在Windows命令提示符中轻松地查看和设置文件时间日期格式。希望这些信息对你有所帮助!
