วิธีการตรวจสอบโฟลเดอร์สำหรับการเปลี่ยนแปลงและดำเนินการคำสั่งถ้ามันบน Windows?


32

มีคำถามที่คล้ายกันสำหรับLinuxและMacแต่ฉันอยู่หลังโซลูชัน Windows ที่นี่

ปัญหามีดังต่อไปนี้: ฉันต้องการเขียนไฟล์สคริปต์ (js) หลายไฟล์ในโฟลเดอร์และมีโปรแกรมตรวจสอบว่าโฟลเดอร์สำหรับการเปลี่ยนแปลงไฟล์และไฟล์ใหม่ที่เพิ่มเข้ามาและเรียกใช้คำสั่งเมื่อใดก็ตามที่เกิดขึ้น ไฟล์เดียว).

วิธีแก้ไขมีดังนี้:

  1. ตรวจสอบทั้งการเปลี่ยนแปลงไฟล์และไฟล์ใหม่ที่เพิ่มเข้ามาในโฟลเดอร์
  2. เรียกใช้คำสั่งเฉพาะเมื่อมีการเปลี่ยนแปลงใด ๆ

มันจะดีที่สุดหากเป็นโซลูชันในตัว (เช่น JScript หรือ VBscript snippet) หรือสิ่งที่ไม่ต้องการติดตั้ง


ดูบล็อกนี้สำหรับบางแอพสำหรับ windows
วีเจย์

คำตอบ:


3

มีโปรแกรมที่ชื่อว่าเบลวีเดียร์ที่อาจทำเคล็ดลับได้

http://ca.lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc

มันเป็นแอพ Windows แบบสแตนด์อโลนที่ทำงานในพื้นหลัง

ฉันได้ตั้งค่าให้ตรวจสอบโฟลเดอร์ดาวน์โหลดของฉันสำหรับไฟล์ที่มีนามสกุลที่แน่นอนซึ่งมีวันที่แก้ไขล่าสุดของวันหนึ่ง ๆ ไฟล์ที่พบมันจะถูกลบอย่างไรก็ตามคุณสามารถให้มันทำการกระทำแทนได้


ว้าว - อันนั้นดูดีสุด ๆ ฉันจะเลือกสิ่งนี้เป็นคำตอบ (แม้ว่าฉันจะได้รับสิ่งที่ฉันต้องการจากอีกอันหนึ่ง) เพราะมันอาจมีประโยชน์มากกว่าและหลากหลายกว่าที่ฉันใช้สำหรับคนอื่น (และอาจเป็นฉันในอนาคต!) . +1 และยอมรับ!
Camilo Martin

2
Belvedere ทำให้ฉันเสียเวลาหลายชั่วโมงในที่สุดก็พบว่ามันเต็มไปด้วยข้อบกพร่องที่ไม่ได้แก้ไขโดยเฉพาะอย่างยิ่งกับคำสั่งที่กำหนดเอง ลองใช้FolderMonitorแทน (และใช้"{0}{1}"ในฟิลด์พารามิเตอร์รวมถึงเครื่องหมายคำพูด) ปัญหาเท่านั้น: คุณไม่สามารถกำหนดคำสั่งแยกต่างหากสำหรับแต่ละโฟลเดอร์ เพียงหนึ่งเดียวทั่วโลก
fregante

@ bfred.it Belvedere มีปัญหา แต่มันใช้ได้สำหรับฉัน FolderMonitor ดูเหมือนเป็นทางออกที่ดีเช่นกัน ฉันคิดว่ามันเป็นหนึ่งในผู้ใช้ถามคำถามที่จบลงด้วย
dangowans

13

ฉันประสบความสำเร็จอย่างดีกับโปรแกรมเก่าที่ชื่อว่า Log Monitor มันโบราณและถูกทอดทิ้งมานานแล้ว แต่มันมีจุดประสงค์ที่ดี

http://www.freeware-guide.com/download/index2.html


1
อ่าขอบคุณ ฉันกำลังลองใช้ยูทิลิตี้อื่นแต่ +1!
Camilo Martin

"สิ่ง" ที่ยอดเยี่ยมนี้ทำงานได้อย่างสมบูรณ์บน windows 10!
mboullouz

7

ฉันได้สร้างยูทิลิตี้ง่าย ๆ สำหรับวัตถุประสงค์นี้: https://github.com/benblamey/when_changed

การใช้งาน: when_changed (เส้นทางไฟล์) (คำสั่ง) (ไม่บังคับ - พารามิเตอร์)

เช่น when_changed C: \ somedir \ foo.txt myapp.exe แถบ wibble 123


ฉันชอบวิธีที่ API สง่างาม รองรับโฟลเดอร์แบบวนซ้ำหรือไม่?
Camilo Martin

ใช่: when_changed C: \ **. txt foo.exe ฉันต้องการรุ่นgithub.com/joh/when-changedสำหรับ windows ที่ไม่มีเวอร์ชัน
Ben

6

ด้วย. NET watchfolders นี้เป็นเรื่องง่ายในการเขียนโค้ด ฉันแน่ใจว่ามีคนทำโปรแกรมเช่นนี้

เพิ่งพบอัญมณีนี้สำหรับคุณ http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4-folder/


ฉันรู้ว่ารหัสนี้ง่ายเพียงใดใน. NET - ฉันไม่ต้องการ แต่ฉันลองอันนี้ฟรีซึ่งก็ใช้ได้เหมือนกัน! +1 สำหรับคำแนะนำซึ่งดูเหมือนว่าดีเช่นกัน
Camilo Martin


2

นี่เป็นข้อกำหนดทั่วไปที่ฉันประหลาดใจว่าไม่มียูทิลิตี้ที่ติดตั้งมากับระบบปฏิบัติการ

อย่างไรก็ตามอย่างที่ได้กล่าวไปแล้วก่อนหน้านี้ฉันเคยใช้LogMonitorสำเร็จแล้ว อย่างไรก็ตามฉันพบบล็อกโพสต์นี้ให้ข้อมูลและกำลังใช้โฟลเดอร์ Watch 4ตอนนี้

หวังว่านี่จะช่วยคุณได้


+1 แต่ฉันจะไม่บอกว่ามันเป็น "ข้อกำหนดทั่วไป" สำหรับทุกคนยกเว้นนักพัฒนาของเรา ... และสำหรับเรื่องนั้นมีการเรียกระบบเพื่อตรวจสอบระบบไฟล์ดังนั้นจึงนับว่าเป็น "การรวมระบบปฏิบัติการ" ฉันเดา
Camilo Martin

1
ฉันเห็นมันจากมุมมองของธุรกิจและเครือข่าย คุณต้องการรู้ว่าใครควรตำหนิเมื่อไฟล์หายไป: P ตอนนี้ฉันอยู่ระหว่างการวิเคราะห์สถานการณ์ดังกล่าว: /
วีเจย์


2

หากคุณต้องการทำโซลูชันในตัวโดยใช้ JScript หรือ VBScript สิ่งที่คุณต้องการค้นหาคือการตรวจสอบระบบไฟล์โดยใช้การสมัครสมาชิกเหตุการณ์ WMI โดยทั่วไปคุณเขียนรหัสเพื่อตรวจสอบโฟลเดอร์และการดำเนินการ preform เมื่อตรวจพบการเปลี่ยนแปลงเช่น:

  • __InstanceCreationEvent
  • __InstanceDeletionEvent
  • __InstanceModificationEvent

... และสคริปต์ของคุณจะทำงานเป็นช่วงเวลาเพื่อให้เหตุการณ์เหล่านี้เกิดขึ้น มีทรัพยากรมากมาย แต่ที่นี่มีไว้สำหรับ VBScript และ Powershell:


1

NirSoft มีซอฟต์แวร์สำหรับตรวจสอบการเปลี่ยนแปลงไฟล์บน Windows
FolderChangesView

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

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถดาวน์โหลดได้ฟรีจากที่นี่
ข้อมูลเพิ่มเติม


ดูเหมือนว่าเครื่องมือให้ข้อมูล / การดีบักมากกว่าเครื่องมืออัตโนมัติ แต่ก็ยังน่าสนใจ
Camilo Martin

0

คุณสามารถใช้http://jnotify.sourceforge.net/ซึ่งสมัครสมาชิกกับเหตุการณ์การตรวจสอบระบบไฟล์เฉพาะระบบปฏิบัติการ รหัสมีอายุปี แต่ยังใช้งานได้ (อย่างน้อยใน Windows Server 2013r2 ฉันได้ทดสอบเมื่อวานนี้)

นอกจากนี้ยังมีการฟื้นคืนชีพของโครงการ jnotify github บนhttps://github.com/redbooth/jnotifyซึ่งไม่ได้ให้แอพสาธิตแบบสแตนด์อโลน แต่ (ตามบันทึกการกระทำ) แก้ไขข้อบกพร่องบางอย่าง

ใน java7 ควรมีระบบไฟล์ที่มีลักษณะคล้าย inotify เหมือนกัน แต่ฉันยังไม่ได้ทดสอบ

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