Saya perlu mengatur semacam script pada mesin Vista saya, sehingga setiap kali file ditambahkan ke folder tertentu, secara otomatis memicu proses latar belakang yang beroperasi pada file tersebut. (Proses latar belakang hanyalah utilitas baris perintah yang menggunakan nama file sebagai argumen, bersama dengan beberapa opsi yang telah ditentukan sebelumnya.)
Saya ingin melakukan ini menggunakan fitur Windows asli, jika mungkin, untuk alasan kinerja dan pemeliharaan. Saya telah melihat ke dalam menggunakan Penjadwal Tugas, tetapi setelah membaca sebentar tentang sistem pemicu, saya belum bisa memahaminya, dan saya bahkan tidak yakin apakah itu mampu melakukan apa yang saya butuhkan.
Saya menghargai saran apa pun. Terima kasih!
windows
windows-vista
automation
scheduled-tasks
bigmattyh
sumber
sumber
Jawaban:
Di tempat kerja kami menggunakan Powershell untuk memantau folder.
Ini dapat digunakan karena Windows Vista (.NET dan PowerShell sudah diinstal sebelumnya) tanpa alat tambahan.
Script ini memonitor folder tertentu dan menulis file log. Anda dapat mengganti tindakan dan melakukan apa pun yang Anda inginkan misalnya memanggil alat eksternal
Contoh file log
StartMonitoring.ps1
Cara Penggunaan
$watcher.Path = "D:\source"
$watcher.Filter = "*.*"
$watcher.IncludeSubdirectories = $true
StartMonitoring.ps1
Untuk berhenti memantau, cukup menutup jendela PowerShell Anda
Bacaan lebih lanjut
sumber
StartWatching.ps1
jendela Anda untuk menghentikan pemantauan. Script kedua tidak hanya bekerja jika Anda memasukkannya dalam naskah pertama Anda untuk menyimpan variabel$created
,$changed
,$deleted
atau$renamed
Anda tampaknya berada di baris yang benar - Anda dapat menggunakan penjadwal tugas untuk menjalankan file .bat atau .cmd secara teratur dan file itu dapat dimulai dengan garis untuk memeriksa keberadaan file yang diperlukan - pada kenyataannya, saya akan memeriksa tidak adanya file; sebagai contoh:
Anda juga bisa memodifikasi kode ini dan menjalankannya dalam satu lingkaran dengan, katakanlah, penundaan 1 menit dalam loop dan kemudian meletakkan referensi ke file batch di folder startup Windows:
Ada cara lain untuk mencapai penundaan sesuai dengan versi Windows yang berjalan dan kit sumber daya tambahan apa yang telah diinstal, tetapi perintah PING cukup banyak bekerja dalam semua keadaan. Dalam perintah PING di atas, PING 10 phantom dieksekusi dengan penundaan 6000ms (yaitu: 6 detik) di antara mereka, Anda dapat bermain dengan nilai-nilai ini untuk mencapai penundaan yang Anda butuhkan antara loop file batch.
sumber
-n 10
vs-n 1
.IF NOT EXIST C:\NO_SUCH_FILE_EVER.foo
. Meretas, tetapi berhasil. Terima kasih untuk idenya.Terima kasih atas sarannya.
Saya akhirnya menulis VBScript yang secara kasar didasarkan pada ide Linker3000 tentang polling folder, dan menggunakan Penjadwal Tugas untuk menjalankannya pada startup. Saya akhirnya mendapatkan sintaks dasar dari sumber ini dan membuat tweak yang diperlukan.
Saya masih ingin mengoptimalkannya di beberapa titik, memiliki nyali script berjalan pada sistem yang digerakkan oleh peristiwa, tapi saya sudah kehabisan waktu untuk mengerjakannya, dan, yah, ini cukup bagus.
Berikut skripnya, siapa tahu ada yang tertarik (dengan segmen konversi yang tidak relevan dihapus untuk kejelasan):
(Juga, saya tidak ingin meninggalkan pertanyaan ini secara resmi tidak terjawab - dan saya benci menerima jawaban saya sendiri atas pertanyaan - tetapi saya benar-benar memilih jawaban Linker3000 sebagai ucapan terima kasih!)
sumber
Anda mungkin melihat DropIt (gratis). Program ini sesuai untuk memproses file yang masuk dengan beberapa cara otomatis. Anda dapat memindahkan, menyalin, menghapus, dan meneruskan parameter ke program baris perintah lainnya untuk mengonversi gambar, membagi PDF, dll.
sumber
Jika tindakan ini hanya untuk menyalin file yang diubah, Anda dapat menggunakan robocopy / MON
Tidak tahu apakah robocopy menggunakan FileSystemWatcher atau berfungsi dengan polling untuk perubahan
sumber
Atau Anda bisa menggunakan Folder Watch 4 . Ternyata itu Freeware, portable, dan kompatibel dengan Windows 7. Saya belum mencobanya, tetapi menemukannya melalui pencarian web dan berpikir saya akan meneruskannya.
Saya suka script VBS juga, juga ditampilkan di situs.
sumber
Juga menemukan penjaga yang tampaknya cukup besar, dan watchexec yang lebih kecil saya belum mencoba.
sumber
Kami menggunakan alat komersial (yaitu tidak gratis) Folder Poll dari http://www.myassays.com/folder-poll untuk melakukan hal ini. Ini adalah aplikasi Windows yang menyertakan aplikasi manajer yang mudah digunakan untuk memungkinkan konfigurasi yang mudah. Juga, ada opsi konfigurasi XML. Polling folder aktual berjalan sebagai layanan Windows (jadi mulai secara otomatis pada setiap restart). Ketika file baru terdeteksi dalam folder yang disurvei, aplikasi dapat diluncurkan secara otomatis (Anda dapat menentukan argumen baris perintah khusus Anda sendiri). Itu dapat melakukan hal-hal lain seperti menyalin / memindahkan file juga. Juga, aktivitas dapat dicatat ke file log dan ada operasi lanjutan lainnya.
sumber