有什麼方法可以根據日期搜索目錄中的文件嗎?我想查找創建日期大於特定日期的所有文件,是否可以使用dir
命令執行此操作?使用命令行按日期搜索
回答
dir
本身不能按日期進行篩選,但您可以使用for
命令解析dir
的輸出。如果您的國家dir
以YMD格式打印日期,那麼您只需要將其與給定日期進行比較。如果日期部分的順序不同,則必須使用另一個for
命令來解析日期並將其更改爲YMD。這將顯示第5版之後修改的文件列表。
@Echo Off
for /f "usebackq tokens=1,4 skip=5" %%A in (`dir /-c`) do (
if %%A GTR 2012-02-05 echo %%A %%B
)
if
不標準的字符串比較,所以在最後,如果摘要行通過比較,你可以得到額外的線。爲了避免它,你可以使用if %%A GTR 2012-02-05 if exist %%B echo %%A %%B
編輯: 有更好的方法避免了dir
解析輸出,還允許通過一次搜索,不僅日期:
@Echo Off
for /r %%A in (*) do (
if "%%~tA" GTR "2012-02-05 00:00" echo %%~tA %%A
)
那麼你不能因爲據我所知,但這種思考的工作,但還是很沒用的,除非你有一個簡短的日期範圍;)
for /R %a in (01 02 03 04 05) do dir | find "02/%a/2012"
不錯!使用'dir/tc'來處理創建日期。 – Marc 2016-08-12 09:49:05
剛剛發現forfiles
命令。
forfiles /s /m *.log /d -7 /c "cmd /c echo @path"
將列出所有修改超過七天的日誌文件,在所有子目錄,但它似乎並沒有看創建日期。它確實支持指定一個特定的日期。
有關更多信息,請參閱forfiles /?
。
超級有用! (當沒有PowerShell可用時)注意:如果你想在一個日期之後修改文件,你需要用'+'而不是'-'作爲'/ d'參數,所以'+ 02/05/2012'而不是'-7 '。還要顯示每個文件的日期和時間輸出,你可以使用'cmd/c echo @fdate @ftime @ path' – bob 2013-07-10 14:58:06
+1這應該是被接受的答案 – 2014-02-19 01:07:22
警告:有些人希望使用UNC路徑。或在Windows中的許多其他地方... – 2016-06-21 16:06:18
這很容易與PowerShell做。我知道你的問題是關於cmd的,但PS包含在Windows 7和更高版本中。它也可以安裝在XP和Vista上。
使用Get-ChildItem
命令(別名爲dir
)獲取所有文件。將輸出傳輸到Where-Object
命令(別名爲?
)以返回日期大於(-gt
)特定日期的文件。
對於PowerShell 2.0中(在Windows 7默認的),你必須使用一個腳本塊:
dir -file | ? {$_.LastWriteTimeUtc -gt ([datetime]"2013-05-01")}
對於Powershell的3.0(在Windows 8默認)和高達你可以改用這種簡單的語法:
dir -file | ? LastWriteTimeUtc -gt ([datetime]"2013-05-01")
dir -file
命令返回一個System.IO.FileInfo
對象的集合。此文件對象具有許多可用於複雜過濾的屬性(文件大小,創建日期等)。有關文檔,請參閱MSDN。
我試過了:dir。 * .svg | ? LastWriteTimeUtc -gt([datetime]「2013-05-01」)但收到「Where-Object:無法綁定參數'FilterScript'。無法將類型爲」System.String 「的」LastWriteTimeUtc「值轉換爲鍵入」System.Management .Automation.ScriptBlock「。 – 2014-10-01 11:23:53
我使用的語法適用於PS 3.0以上,我相信如果你有PS 1.0或2.0,你必須使用如下的scriptblock:'|?{$ _。LastWriteTimeUtc -gt([datetime] 「2013-05-01」)}' – bouvierr 2014-10-01 11:37:44
啊我在Windows 7上用PS 2.謝謝 – 2014-10-01 16:56:09
對我來說更簡單的方法是一樣的東西
dir /s *.xlsx | find "07/14/2016"
- 1. 搜索按日期
- 2. 根據日期和錯誤使用命令行篩選/搜索日誌文件
- 3. GAE Python:使用dateutil.parser按日期搜索
- 4. Twitter搜索Api 1.1按日期搜索
- 5. 按日期搜索範圍
- 6. 搜索按日期ASP.NET SQL
- 7. 搜索按日期coredata
- 8. mysql表按日期搜索
- 9. SQL命令按日期
- 10. 從命令行搜索cpan.org
- 11. 搜索從命令行
- 12. 使用實體框架執行按日期搜索
- 13. 帶有日期過濾器的IMAP搜索命令
- 14. 少命令搜索
- 15. Unix搜索命令
- 16. SQL命令搜索
- 17. Grep命令搜索
- 18. Cakephp:按日期搜索,無範圍
- 19. 按日期在SQL Server中搜索
- 20. 如何按日期在sqlite中搜索?
- 21. 必應搜索API:按日期縮小
- 22. Laravel按日期搜索不工作
- 23. 在DBIx上按日期搜索::類
- 24. 在SQL Server 2012中按日期搜索
- 25. Twitter REST API v1.1 - 按日期搜索?
- 26. 按日期SQL服務器搜索2005
- 27. 按日期搜索Mysql查詢
- 28. 如何在PGSQL中按日期搜索?
- 29. Apache Lucene - 按具體日期搜索
- 30. wordpress按日期排序搜索結果
'DIR/OD'會按日期排序,至少 – nolegs 2012-02-10 20:17:50
目錄不能,但Unix的find命令*可*。 [Dos port available here](http://sourceforge.net/projects/unxutils/) – 2012-02-10 21:59:06
http://superuser.com/a/326025/3588在SuperUser是一個優雅的解決方案,使用'xcopy'而不需要實際複製 – 2015-09-01 23:50:26