[英]“For” command and “findstr” in windows command prompt
在另一篇文章中,我發現此解決方案可將文件以ISO格式重命名為當前日期:
FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET B=%%A
copy test.java %B:~0,4%-%B:~4,2%-%B:~6,2%.java
我了解這部分以外的所有內容:
^| FINDSTR \.
它有什么作用? 由於“ WMIC OS GET LocalDateTime”具有這種格式
LocalDateTime
20150223064808.538000+060
我假設它以某種方式限制了刺痛。 但是如何?
該行中發生了幾件事。
^
是批處理的轉義字符。 在那里是為了使下一個字符不會中斷for循環。 |
是一個管道,它將左側的命令輸出發送到右側的命令。 FINDSTR
搜索一個字符串,並返回找到的任何字符串。
這是有點復雜的地方: \\
是findstr的轉義字符,它允許對下一個字符進行字面解釋。 .
只是一個時期,但是沒有前面的\\
,這是一個單字符通配符(f.re會收取車費和火費,等等)
wmic os get localdatetime
運行wmic
並返回本地日期和時間,其輸出如下所示:
LocalDateTime
20150223010540.071000-300
當將其通過管道傳遞給findstr並告訴findstr返回包含單個句點的行時,您將獲得
20150223010540.071000-300
然后整個過程都在for /F
循環中,這樣該命令的輸出可以存儲在變量中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.