cmd:将 wmic 输出保存到变量

2023-12-01

我正在尝试将文件的时间戳放入批处理文件中的变量中。

我的批处理文件 imagetime.bat 包含以下内容:

set targetfile=%~1
set targetfile=%targetfile:\=\\%
echo %targetfile%
for /f "usebackq delims=" %%i in ( `wmic datafile where name^="%targetfile%" get creationdate` ) do ( echo %%i )
echo %timestamp%

我得到这个输出:

C:\>imagetime.bat V:\setup.exe

C:\>set targetfile=V:\setup.exe

C:\>set targetfile=V:\\setup.exe

C:\>echo V:\\setup.exe
V:\\setup.exe

C:\>for /F "usebackq delims=" %i in (`wmic datafile where name="V:\\setup.exe" g
et creationdate`) do (echo %i  )

  ) (echo CreationDate
 reationDate

  ) (echo 20110412103858.000000+***
 0110412103858.000000+***

  ) (echo
ECHO is on.

C:\>echo ""
""

C:\>

当然,最后我希望看到“20110412103858.000000+***”,这样我就可以用cmd的字符串操作将其格式化为“04/12/2011,10:38:58”。

我究竟做错了什么?

Update

我尝试了Hackoo的解决方案。它适用于 calc.exe,但不适用于 V:\setup.exe。删除 @echo 关闭并暂停后,我得到此输出(我将引用 calc.exe 的行更改为:set "targetfile=V:\setup.exe"):

C:\>hackoo_calc.bat

C:\>set "targetfile=C:\Windows\system32\calc.exe"

C:\>set targetfile=C:\\Windows\\system32\\calc.exe

C:\>for /F "usebackq delims=" %i in (`wmic datafile where name="C:\\Windows\\sys
tem32\\calc.exe" get creationdate`) do (for %b in (%i) do (set "timestamp=%b" )
)

) do (set "timestamp=%b" ) )

C:\>(set "timestamp=CreationDate" )

) do (set "timestamp=%b" ) ) 1.688252+120

C:\>(set "timestamp=20090714015711.688252+120" )

) do (set "timestamp=%b" ) )

C:\>echo TimeStamp : "20090714015711.688252+120"
TimeStamp : "20090714015711.688252+120"

C:\>hackoo_setup.bat

C:\>set "targetfile=V:\setup.exe"

C:\>set targetfile=V:\\setup.exe

C:\>for /F "usebackq delims=" %i in (`wmic datafile where name="V:\\setup.exe" g
et creationdate`) do (for %b in (%i) do (set "timestamp=%b" ) )

) do (set "timestamp=%b" ) )

C:\>(set "timestamp=CreationDate" )

) do (set "timestamp=%b" ) ) 8.000000+***

) do (set "timestamp=%b" ) )

C:\>echo TimeStamp : "CreationDate"
TimeStamp : "CreationDate"

C:\>

这会做你想要的吗?

@Echo Off
Set "TF=%~f1"
Set "TS="
For /F "Skip=1" %%A In ('WMIC DataFile Where^
 "Name='%TF:\=\\%'" Get CreationDate') Do For %%B In (%%~nA) Do Set "TS=%%B"
If Not Defined TS Exit /B
Set "TS=%TS:~4,2%/%TS:~6,2%/%TS:~,4%,%TS:~-6,2%:%TS:~-4,2%:%TS:~-2%"
Echo %TS%
Pause

[Edit]

这里再次使用正常的命令行风格,没有插入符号:

With UseBackQ:

@Echo Off
Set "TF=%~f1"
Set "TS="
For /F "UseBackQ Skip=1" %%A In (`
    "WMIC DataFile Where Name="%TF:\=\\%" Get CreationDate"
`) Do For %%B In (%%~nA) Do Set "TS=%%B"
If Not Defined TS Exit /B
Set "TS=%TS:~4,2%/%TS:~6,2%/%TS:~,4%,%TS:~-6,2%:%TS:~-4,2%:%TS:~-2%"
Echo %TS%
Pause

Without UseBackQ: (首选)

@Echo Off
Set "TF=%~f1"
Set "TS="
For /F "Skip=1" %%A In ('
    "WMIC DataFile Where Name="%TF:\=\\%" Get CreationDate"
') Do For %%B In (%%~nA) Do Set "TS=%%B"
If Not Defined TS Exit /B
Set "TS=%TS:~4,2%/%TS:~6,2%/%TS:~,4%,%TS:~-6,2%:%TS:~-4,2%:%TS:~-2%"
Echo %TS%
Pause
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cmd:将 wmic 输出保存到变量 的相关文章

随机推荐

  • x86 masm 你好世界

    我正在尝试使用 VS 2010 附带的 ML 和 LINK 在 Windows 上编译一个 hello world MODEL FLAT STACK 4096 data msg db Hello World 0 code INCLUDELI
  • 有没有办法永久关闭 Composer 的 ANSI?

    当我在 shell 中运行 Composer 时 它会将所有文本呈现为深黄色背景色 因此几乎无法阅读 有一个选项可以提供 no ansi与我运行的每个命令争论 但这看起来确实很痛苦 有没有办法将其默认关闭 或者甚至将颜色更改为更易读的颜色
  • 如何在 D3 中的多个单独过渡多边形之间添加过渡延迟?

    原始代码可以在以下位置找到 http bl ocks org Guerino1 3a51eeb95d3a8345bc27370e8c9d5b77 我有许多多边形正在转换到 svg 画布上 从左到右 位于 HTML 页面的底部 我用来创建 V
  • SQL Server 行值作为列名数据透视表?

    我在 SQL Server 2008 中有以下视图 DEPT EMP ID EMP NAME P DATE HOURS WORKED 我希望视图是这样的 DEPT EMP ID EMP NAME 2012 09 28 2012 09 29
  • 为什么图像开头有不需要的额外字节?

    问题 我为我兄弟制作了一个主页 可以在这里访问 http www daniel steiger ch 它在 Linux 上使用 Microsoft ASP NET MVC3 和 mono 3 通过 fastcgi 和 nginx 加上我自己
  • 编写安全的 RMI 服务器-客户端应用程序

    我正在编写一个服务器客户端应用程序 其中通过互联网进行通信 我有几个关于安全性的问题和担忧 我做了一些研究 发现这里的一些帖子很有用 但我想要更多信息 我读到的一些相关问题是 通过 RMI 进行客户端的安全身份验证 java rmi 身份验
  • 选择直到 postgresql 中的行匹配?

    有没有办法选择行直到满足某些条件 IE 一种limit 但不限于N行 但直到第一个不匹配行为止的所有行 例如 假设我有一张桌子 CREATE TABLE t id SERIAL PRIMARY KEY rank INTEGER value
  • 如何在 watchOS 6 中注入 .environment Object()

    我想在 watchOS 6 中创建 SwiftUI 视图时注入环境对象 但由于 WKHostingController 需要具体类型 我无法执行以下操作ContentView environmentObject UserData class
  • 使用 scipy.integrate.quad 积分复数

    我现在正在使用 scipy integrate quad 成功地积分一些真实的被积函数 现在出现了一种情况 我需要对一个复杂的被积函数进行积分 与其他 scipy integrate 例程一样 quad 似乎无法做到这一点 所以我问 有没有
  • 在键入文本时动态更改单元格的高度,并重新加载包含的表格视图以调整大小

    我正在尝试创建一个包含多种单元格类型的 UITableView 我的一个单元格需要动态改变他的高度在其中输入文本时 这是更改单元格高度的代码 在单元格的类中 效果很好 func textViewDidChange textView UITe
  • 创建网络虚拟硬盘/文件系统[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我将如何创建网络虚拟硬盘 文件系统 我的意思是 一旦我安装了应用程序 一个新的驱动器 可
  • IBM Mobilefirst CLI - 服务器启动问题

    我最近在 Mac 上安装了 IBM MobileFirst CLI 但似乎无法启动服务器 请参阅下面的错误 上网查了一下 发现是JDK中有一个bug导致了JavaLaunchHelper错误 我从这里下载了据说可以解决问题的测试版 JDK下
  • MySQL触发器-移动内部顺序列

    我有下表 页数 pgid pgname pgorder 1 Page 1 1 2 Page 2 2 3 Page 3 3 4 Page 4 4 列 pgorder 表示特定页面的位置 我需要触发器 该触发器会在删除一页记录后自动移动 减少
  • 哪个 jar 最终出现在 Maven 增量构建中的类路径上?

    简单的 Maven 说明 我希望经验丰富的 Maven 开发人员能够轻松回答这个问题 我有两个名为 mycompany x 和 mycompany y 的项目 mycompany x 被列为 mycompany y 的依赖项 每个版本都有
  • React 6.4.0 所有路由器的通用标头

    我正在开始反应项目react router dom版本 6 4 0 但无法为所有路由创建公共标头 App js 这是我要添加的文件RouterProvider import logo from logo svg import App css
  • 使用PHP批量插入

    Java有PreparedStatement addBatch executeBatch来有效地进行多次插入 使用 php 的 mysqli 扩展进行批量插入的快速方法是什么 Thanks MySQL 本身支持一次查询多次插入 INSERT
  • 如何在 UIWebView 中静音播放 YouTube 视频?

    我正在使用 UIWebView 在 iPhone 版 iOS 9 上播放嵌入式 YouTube 视频 然而 由于一个已知问题 音量控制不起作用 即调用player mute 或player setVolume 0 根本不起作用 https
  • 有没有一种方法可以通过一个命令获取 git 根目录?

    Mercurial 有一种打印根目录 包含 hg 的方法 hg root git 中是否有等效的东西来获取包含 git 目录的目录 Yes git rev parse show toplevel 如果您想更直接地复制 Mercurial 命
  • MKOverlay 视图模糊

    我正在尝试使用 MKOverlayView 添加 png 图像作为自定义地图 我几乎就在那里 我能够将图像排列在正确的位置 并且我知道 MKOverlayView 子类中的 drawMapRect 方法正在被定期调用 我似乎无法正确渲染图像
  • cmd:将 wmic 输出保存到变量

    我正在尝试将文件的时间戳放入批处理文件中的变量中 我的批处理文件 imagetime bat 包含以下内容 set targetfile 1 set targetfile targetfile echo targetfile for f u