2013-07-12 49 views

Trả lời

16

Bạn có thể sử dụng PowerShell để làm điều này, hãy thử:

Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -ge "12/27/2016" }

+1

Có cách nào để giới hạn tìm kiếm đối với một phần mở rộng tệp đã cho? Một cái gì đó như đường ống để một grep trong Unix? – qqqqq

3

tôi sau khi kích thước của các tập tin đã thay đổi và không có Powershell tôi đã sử dụng sau nhưng đầu mối đến từ một bài đăng khác

http://www.scotiasystems.com/blog/it-hints-and-tips/quick-way-to-find-recently-changed-files-in-windowsWindows command for file size only?

set Target=E:\userdata 
rem Date format is M-D-YYYY 
set date=12-13-2013 
set Filelist=d:\temp\filelist.txt 
set Sizelist=d:\temp\sizelist%date%.csv 

echo Target is %Target% 
echo Start date is %date% 
echo file list is %Filelist% 
echo Sizelist is %sizelist% 

Xcopy %Target% /D:%date% /L /S > %Filelist% 
echo FileSize (bytes), FileName > %sizelist% 

For /f "tokens=1 delims=;" %%j in (%Filelist%) do (
       call :Size "%%j" 
       )  
Goto :EOF 

:Size 
@echo off 
echo %~z1, %1 >> %sizelist% 
2

tôi đã cùng một vấn đề, vì vậy tôi đã tạo ra một danh sách sử dụng XCOPY và sửa đổi theo ngày tôi đang tìm kiếm và sau đó sử dụng một vòng lặp for để đi qua danh sách và thêm thông tin ngày/giờ tôi cần cho mỗi tệp vào nhật ký.

xcopy X:\file_*.log X:\temp /D:07-17-2014 /L /Y > X:\files.txt 
for /f "tokens=* delims=" %%a in (X:\files.txt) do (
    @echo %%~ta %%a >> X:\files.log 
) 

Kết quả bằng thứ gì đó như sau, chính xác là những gì tôi muốn.

X:\>() 
07/17/2014 09:41 AM X:\file_201407170600.log 

X:\>() 
07/17/2014 09:41 AM X:\file_201407170615.log 

X:\>() 
07/17/2014 09:23 AM X:\file_201407170630.log 
27

Lệnh forfiles làm việc cho tôi trên Windows 7. Điều là ở đây:

http://www.windows-commandline.com/find-files-based-on-modified-time/

Microsoft Technet doc: http://technet.microsoft.com/en-us/library/cc753551.aspx

Đối với ví dụ trên:

forfiles /P <dir> /S /D +12/07/2013 
  • /P bắt đầu con đường để tìm kiếm
  • /S Đệ quy vào thư mục con
  • /D ngày để tìm kiếm, dấu "+" có nghĩa là "lớn hơn" hoặc "từ"
+6

Không giống như lệnh PowerShell sử dụng ngày ở định dạng 'MM/DD/YYYY', lệnh này sẽ sử dụng định dạng ngày của hệ thống cục bộ của bạn. Trong trường hợp các quốc gia Châu Âu, đây là các tệp forfiles «DD/MM/YYYY' – CJxD

+2

vẫn có sẵn trên dòng lệnh Windows 10 –

+2

Để lặp lại đường dẫn đầy đủ, hãy thêm'/c 'cmd/c echo @path "' – marcovtwout