私は、次のwmic
のコマンドを使用して、ロケールに依存しない方法でファイルの更新日時を取得しようとしています:WMICのWHERE句にカンマと閉じ括弧の両方をエスケープする方法はありますか?
wmic DataFile WHERE Name="D:\\Data\\sample.txt" GET LastModified
これがある限り、特定のファイルパスは任意のカンマ,
が含まれていないとして完璧に動作します。
方法は、以下のファイルパスにカンマを使用できますが、閉じ括弧)
が表示された場合は失敗します。今まで、私は数多くのさまざまな組み合わせを試してみました
wmic DataFile WHERE (Name="D:\\Data\\sample.txt") GET LastModified
、成功せず:
WHERE Name=D:\\Data\\sample.txt
(これは一般的に失敗します、間違ったデータタイプのため)
WHERE Name="D:\\Data\\sample.txt"
(これは,
で失敗します)
WHERE "Name='D:\\Data\\sample.txt'"
(これは,
で失敗)WHERE Name='D:\\Data\\sample.txt'
(これは,
で失敗)*
WHERE (Name="D:\\Data\\sample.txt")
(これは)
で失敗)
WHERE (Name='D:\\Data\\sample.txt')
は(これは)
で失敗)*
WHERE 'Name="D:\\Data\\sample.txt"'
(これは,
で失敗します)WHERE "Name=\"D:\\Data\\sample.txt\""
(これは,
で失敗します)*
WHERE ^"Name=\"D:\\Data\\sample.txt\"^"
(これは,
で失敗)\
と,
および/または)
の
エスケープが動作しませんか。
*)これは、ファイルパスを囲んで関与なし""
がないので、私は好きではないことをしようと区切り文字での問題につながる可能性がある(SPACE、TAB、;
、=
と,
)または^
,&
,(
および)
のような特殊文字。
だから、失敗しないwmic
クエリのファイルパスの文字,
と)
の両方をできるようにする方法はありますか?コンマや閉じ括弧をエスケープする特殊文字(シーケンス)はありますか?または別のタイプのクエリまたはWHERE
句を使用して、この問題を回避する別の方法がありますか?
同様の質問があります。How do I escape comma in WMIC inside like string;しかし、それは,
だけをエスケープすることであり、)
もエスケープすることについて完全には詳しく述べていません。それが私が求めている理由です...