以下方法允许文件路径中包含逗号,但是如果出现右括号
)
则会失败:
==> wmic DataFile WHERE (Name = "D:\\bat\\Unusual Names\\2c,comma.txt") get Name, LastModified
LastModified Name
20160513080305.362206+120 d:\bat\unusual names\2c,comma.txt
编辑。以下示例是根据 @Rublacava 的评论添加的:
==> wmic DataFile WHERE (Name = "d:\\bat\\Unusual Names\\2c, comma\\2c,comma.txt") get Name, LastModified
LastModified Name
20160514132334.866055+120 d:\bat\unusual names\2c, comma\2c,comma.txt
相反,下面的方法允许在文件路径中使用右括号
)
,但是
如果出现逗号,
则会失败:
==> wmic DataFile WHERE "Name = 'D:\\bat\\Unusual Names\\28(parens_29).txt'" get Name, LastModified
LastModified Name
20160513104341.746838+120 d:\bat\unusual names\28(parens_29).txt
看起来似乎没有通用的方法来处理文件路径中同时存在逗号,
和右括号)
的情况,例如2c,comma_28(parens_29).txt
。
不过,这里有一个使用PowerShell的解决方法:
powershell -Command Get-WmiObject -Query """Select * from CIM_DataFile where name = 'D:\\bat\\Unusual Names\\2c,comma_28(parens_29).txt'""" ^| select name, LastModified ^| ft -AutoSize
::
:: a bit more readable
::
powershell -Command Get-WmiObject -Query """Select * from CIM_DataFile where "^
"name = 'D:\\bat\\Unusual Names\\2c,comma_28(parens_29).txt'""" ^
^| select name, LastModified ^| ft -AutoSize
::
:: even more readable
::
set "_filePath=D:\bat\Unusual Names\2c,comma_28(parens_29).txt"
powershell -Command Get-WmiObject -Query ^
"""Select * from CIM_DataFile where name = '%_filePath:\=\\%'""" ^
^| select name, LastModified ^| ft -AutoSize
输出:(上述代码片段粘贴到打开的cmd
窗口中):
==> powershell -Command Get-WmiObject -Query """Select * from CIM_DataFile where
name = 'D:\\bat\\Unusual Names\\2c,comma_28(parens_29).txt'""" ^| select name,
LastModified ^| ft -AutoSize
name LastModified
---- ------------
d:\bat\unusual names\2c,comma_28(parens_29).txt 20160513103717.765243+120
==> ::
==> :: a bit more readable
==> ::
==> powershell -Command Get-WmiObject -Query """Select * from CIM_DataFile where "^
More? "name = 'D:\\bat\\Unusual Names\\2c,comma_28(parens_29).txt'""" ^
More? ^| select name, LastModified ^| ft -AutoSize
name LastModified
---- ------------
d:\bat\unusual names\2c,comma_28(parens_29).txt 20160513103717.765243+120
==> ::
==> :: even more readable
==> ::
==> set "_filePath=D:\bat\Unusual Names\2c,comma_28(parens_29).txt"
==> powershell -Command Get-WmiObject -Query ^
More? """Select * from CIM_DataFile where name = '%_filePath:\=\\%'""" ^
More? ^| select name, LastModified ^| ft -AutoSize
name LastModified
---- ------------
d:\bat\unusual names\2c,comma_28(parens_29).txt 20160513103717.765243+120
==>
wmic DataFile WHERE (Name = "D:\\bat\\Unusual Names\\2c,comma.txt") get Name, LastModified
——如果目录名中有一个或多个逗号,则无法正常工作。(例如,wmic DataFile WHERE (Name = "D:\\a\\Unusual\\2c, Names\\comma.txt") get LastModified
) - Rublacava