รายชื่อของไฟล์ที่มีการเปลี่ยนแปลงเมื่อเร็ว ๆ นี้สำหรับไดเรกทอรีและไดเรกทอรีย่อยทั้งหมด


14

ใน Linux ฉันรู้ว่าคำสั่งนี้เพื่อค้นหาและแสดงรายการไฟล์ที่แก้ไขล่าสุดในไดเรกทอรีที่มีไดเรกทอรีย่อยทั้งหมด

find /var/www/ -type f -exec stat --format '%Y :%y %n' {} \; | sort -nr | cut -d: -f2- | head

มี Windows CLI ที่เทียบเท่าหรือไม่


คุณกำลังมองหาไฟล์ที่ถูกดัดแปลงเท่านั้น? หรือว่าคุณกำลังดูไฟล์ทั้งหมดอยู่?
Keltari

1
ฉันแน่ใจว่า PowerShell สามารถทำเช่นนี้ให้ห่างไกลได้ง่ายกว่าชุด แต่ถ้าคุณอย่างต้องใช้หลัง ... ลองdir /a-d /o-d /tw /s(แสดงไฟล์เท่านั้นเพื่อตามวันที่จากมากไปน้อยใช้เวลาเขียนสุดท้ายสำหรับการเรียงลำดับการเข้า recurse subdirs) อย่างไรก็ตามสิ่งนี้จะแสดงรายการไฟล์ทั้งหมด เพื่อ จำกัด รายการเพื่อ n แก้ไขไฟล์ล่าสุดเพียงใช้dbenhamเป็นวิธีการแก้ปัญหาที่ยอดเยี่ยมที่นี่
Karan

ความคิดเห็นบางส่วนเกี่ยวกับคำสั่ง Linux: (1) -execคุณอาจต้องการพิจารณาxargsแทน (2) ถ้าคุณบอกว่าต้องการเรียงลำดับไดเรคทอรีย่อย (ย่อย) ทั้งหมดตามวันที่แก้ไข (จากนั้นดูที่Nล่าสุด) สิ่งที่คุณมีนั้นสมเหตุสมผล แต่ถ้าคุณจะได้รับข้อมูลที่คุณต้องการโดยการหาไฟล์ทั้งหมดที่มีการปรับเปลี่ยนในช่วงNfind … -mtime …วันดูที่
สกอตต์

2
เพื่อเพิ่มความคิดเห็นก่อนหน้าของฉันคุณสามารถดูforfiles /s /d +<date>ได้
Karan

คำตอบ:


21

PowerShell 2.0

ไฟล์ที่เปลี่ยนแปลงล่าสุด 10 ไฟล์

Dir C:\folder -r | ? {! $_.PSIsContainer} | sort LastWriteTime | select -last 10

เปลี่ยนไฟล์ตั้งแต่วันที่กำหนด

Dir C:\folder -r | ? {! $_.PSIsContainer -AND $_.lastwritetime -ge '04/18/14'} 

อ่านเพิ่มเติมเกี่ยวกับhttp://ss64.com/ps/


หากคุณเพียงต้องการแสดงไดเรกทอรีที่มีไฟล์ที่แก้ไขให้ทำเช่นนี้ Dir d: \ sftp -r | ? {! $ _. PSIsContainer -AND $ _. lastwritetime -ge '05 / 25/2018 '} | findstr Directory
Rob

0
dir c:\windows\ /aa /s /O-D

แสดงรายการไฟล์ทั้งหมดที่มีชุดแอตทริบิวต์การเก็บถาวร (แก้ไข) ในโฟลเดอร์ c: \ windows และโฟลเดอร์ย่อยทั้งหมดตามวันที่ (ใหม่สุดก่อน)

แก้ไข: วิธีนี้จะใช้ได้เฉพาะเมื่อคุณล้างบิตเก็บถาวรในบางจุดเท่านั้นหรือรายการจะเพิ่มขึ้นเรื่อย ๆ


1
แอตทริบิวต์เก็บถาวรเกี่ยวข้องกับไฟล์ที่มีการเปลี่ยนแปลงเมื่อเร็ว ๆ นี้อย่างไร
Karan

1
ทุกอย่าง ไฟล์ใด ๆ ที่ได้รับการเปลี่ยนแปลงจะได้รับแอตทริบิวต์การเก็บถาวรที่กำหนดโดยระบบปฏิบัติการ นั่นคือวิธีที่โปรแกรมสำรองข้อมูลรู้ว่าไฟล์มีการเปลี่ยนแปลงและจำเป็นต้องสำรองข้อมูล
Keltari

3
การแก้ไขของคุณมีความสำคัญอย่างยิ่ง ไฟล์ที่มี + A จะไม่เห็นการเปลี่ยนแปลง ทำไมไม่ลองทำตามวันที่ปรับเปลี่ยนบ้าง?
Karan

0

ดูที่ MT Directory Changes Watcher อาจจะเหมาะสมกับความต้องการของคุณ

โปรแกรมเฝ้าดูการเปลี่ยนแปลงไฟล์ในไดเรกทอรีเฉพาะ (Watch directory) จากนั้นคัดลอกไฟล์ที่เปลี่ยนแปลงไปยังโฟลเดอร์อื่น (ไดเร็กทอรี Mirror) โครงสร้างการบันทึกไดเร็กทอรี สิ่งนี้มีประโยชน์มากเมื่อคุณมีสำเนาของไซต์ระยะไกลในพื้นที่และต้องการอัปโหลดเฉพาะไฟล์ที่เปลี่ยนแปลงในเครื่องหลังจากอัปโหลดครั้งล่าสุด

http://mito-team.com/projects/dcw

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.