- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 Windows 命令行中是否有一种方法可以以标准化的区域设置无关格式(例如,ISO8601)检索文件或目录的日期/时间戳(修改、创建、访问) ?
我发现 dir
的输出使用系统相关的日期/时间格式,缺少秒数。
参数的~t
修饰符(%~t1
)和for
变量扩展(%~tI
).forfiles
变量 @fdate
和 @ftime
也取决于系统设置(尽管后者至少也返回秒数)。
我了解到 wmic OS GET LocalDateTime/VALUE
是获取当前系统日期/时间的一种方法(输出可能类似于 LocalDateTime=20151021020000.000000 +120
,可以通过for/F
获取)。
但是是否还有一个命令(行)以类似的格式返回文件或目录日期/时间戳?
最佳答案
Here您可以找到一种获取文件时间的方法。
1) 对于目录,您可以使用此WMIC 查询:
@echo off
set "directory=."
for /f "delims=" %%# in ("%directory%") do set "directory=%%#"
set "directory=%temp%"
for /f "usebackq delims=" %%# in (`"WMIC path Win32_Directory WHERE name='%directory:\=\\%' get creationdate,LastAccessed,LastModified /format:value"`) do (
for /f %%@ in ("%%#") do echo %%@
)
2) 或使用 jscript hybrid(就像在文件版本中一样,您也可以使用 LastModified
、CreationDate
或 LastAccessed
):
@if (@X)==(@Y) @end /****** jscript comment ******
@echo off
set "directory=."
for %%# in (%directory%) do set "directory=%%~f#"
if exist "%directory%\" (
cscript //E:JScript //nologo "%~f0" "%directory%"
)
exit /b %errorlevel%
****** end of jscript comment ******/
var file_loc = WScript.Arguments.Item(0);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var the_file=fso.GetFolder(file_loc);
var the_date= new Date(the_file.DateLastModified);
WScript.Echo(the_date.getFullYear());
WScript.Echo(the_date.getMonth());
WScript.Echo(the_date.getUTCDate());
3) 使用自编译的 jscript.net(由于 .NET 格式化功能,它可能是最强大的选项):
@if (@X)==(@Y) @end /****** start of jscript comment ******
@echo off
::::::::::::::::::::::::::::::::::::
::: compile the script ::::
::::::::::::::::::::::::::::::::::::
setlocal
if exist "%~n0.exe" goto :skip_compilation
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
:: searching the latest installed .net framework
for /f "tokens=* delims=" %%v in ('dir /b /s /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
if exist "%%v\jsc.exe" (
rem :: the javascript.net compiler
set "jsc=%%~dpsnfxv\jsc.exe"
goto :break_loop
)
)
echo jsc.exe not found && exit /b 0
:break_loop
call %jsc% /nologo /out:"%~n0.exe" "%~dpsfnx0"
::::::::::::::::::::::::::::::::::::
::: end of compilation ::::
::::::::::::::::::::::::::::::::::::
:skip_compilation
set "directory=."
for %%# in (%directory%) do set "directory=%%~f#"
"%~n0.exe" "%directory%"
exit /b 0
****** end of jscript comment ******/
import System;
import System.IO;
var arguments:String[] = Environment.GetCommandLineArgs();
var the_dir=arguments[1];
var last_modified=Directory.GetLastWriteTime(the_dir);
Console.WriteLine("modified time "+last_modified.ToString("yyyy-MM-dd"));
var created=Directory.GetCreationTime(the_dir);
Console.WriteLine("created time "+created.ToString("yyyy-MM-dd"));
var accessed=Directory.GetLastAccessTime(the_dir);
Console.WriteLine("accessed time "+accessed.ToString("yyyy-MM-dd"));
编辑 这里准备好使用所有列出的方法使用参数化脚本:
关于windows - 如何获取文件或目录的标准化日期/时间戳。在纯批处理脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33248149/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!