windows – 批处理文件中FOR / F和WMIC中何时以及要转义的内容
发布时间:2020-12-14 02:17:46 所属栏目:Windows 来源:网络整理
导读:我有以下代码,应该将文件的最后修改日期作为字符串返回: :getLastModifiedDate@echo onSETLOCAL enabledelayedexpansionset FILE=%~f1set FILE=!FILE:%NETWORK_DRIVE_SHARE_PATH%=%NETWORK_DRIVE_NAME%!set FILE=%FILE:=%set RETURN_VALUE="internal scr
我有以下代码,应该将文件的最后修改日期作为字符串返回:
:getLastModifiedDate @echo on SETLOCAL enabledelayedexpansion set FILE=%~f1 set FILE=!FILE:%NETWORK_DRIVE_SHARE_PATH%=%NETWORK_DRIVE_NAME%! set FILE=%FILE:=% set RETURN_VALUE="internal script error" for /f "tokens=* usebackq" %%d in (`wmic datafile where Name^="%FILE%" get lastmodified ^| findstr ^"[0-9]^"`) do ( set tmpd="%%d ddd" echo 222221 %tmpd% echo 222222 !tmpd! echo 333333 %%tmpd%% set RETURN_VALUE=%tmpd:~0,14% ) (ENDLOCAL set getLastModifiedDateResult=%RETURN_VALUE% ) exit @echo off goto :eof 我希望如此 set tmpd="%%d ddd" 至少将ddd设置为%tmpd%的值. 但是,在执行期间,没有做任何事情: C:Windowssystem32>for /F "tokens=* usebackq" %d in (`wmic datafile where Name="S:ActuallyExisting File.csv" get lastmodified | findstr "[0-9]"`) do ( set tmpd="%d ddd" echo 222221 echo 222222 !tmpd! echo 333333 %tmpd% set RETURN_VALUE=~0,14 ) 我希望我的for循环成为这个问题的原因.当我在cmd.exe中执行完全相同的字符串时,我得到一个结果: C:Usersuuuu>for /f "tokens=* usebackq" %d in (`wmic datafile where Name^="S:ActuallyExisting File.csv" get lastmodified ^| findstr ^"[0-9]^"`) do ( set tmpd=%d ) [xxx@yyy auf zzzz] ) sersyc067xd>(set tmpd=20150413172700.000000+120 [yc067xd@R0199 auf FS00QHE0] C:Usersuuuu>echo %tmpd% 20150413172700.000000+120 我哪里做错了什么? 解决方法
你必须使用wmic吗?
有一种更简单的方法可以返回上次修改日期: FOR %%f IN ("%file%") DO SET lastmodified=%%~tf 所以你的脚本看起来像: :getLastModifiedDate @echo on SETLOCAL enabledelayedexpansion set FILE=%~f1 set FILE=!FILE:%NETWORK_DRIVE_SHARE_PATH%=%NETWORK_DRIVE_NAME%! set FILE=%FILE:=% set RETURN_VALUE="internal script error" FOR %%f IN ("%FILE%") DO SET getLastModifiedDateResult=%%~tf set getLastModifiedDateResult=%getLastModifiedDateResult:~0,10% @echo off endlocal & goto :eof (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Windows Phone 8.1设备(Lumia 930)和VS2013调试仅
- 在windows netstat结果中“::”表示什么?
- Microsoft DirectX DirectShow Filters远程代码执
- windows-server-2008-r2 – 我无法在Windows Ser
- 防止Windows客户端使用Thumbs.db污染网络共享
- windows – 如何在Delphi中隐藏MDI子窗体?
- Windows-删除Windows Server backup卷影副本
- windows – 在C#中创建Cron作业
- windows-xp – 当浏览器不支持SNI时会发生什么
- 在Windows上使用音频检测进程
热点阅读