Saat menyiapkan tugas yang dijadwalkan, untuk bagian tindakan saya mencoba mengakses variabel lingkungan untuk lokasi yang dapat dieksekusi yang ingin saya jalankan. Ini terutama karena pada satu mesin yang dapat dieksekusi bisa di C: di lain itu bisa di D: Saya sudah memverifikasi bahwa jika saya menggunakan jalur kode keras tugas terjadwal saya berjalan, tetapi jika saya mengubah tindakan untuk menunjuk ke "%MyAppPath%\MyApp.exe"
tugas tidak akan mulai mengalami kegagalan peluncuran. Saya telah memverifikasi bahwa variabel lingkungan sudah diatur.
Apakah mungkin di dalam bagian tindakan (dan direktori kerja) dari jadwal tugas untuk merujuk variabel lingkungan - apakah sintaksis saya salah.
Sebagai catatan, saya memang berpikir untuk memanggil file BAT dan merujuk variabel lingkungan di sana, tetapi itu tidak menyelesaikan apa pun bagi saya karena masalah utama sebenarnya adalah mengetahui apakah aplikasi (dan file bat juga) ada di C: atau D: drive - di dalam drive itu sendiri jalannya sama.
UPDATE : Ternyata Anda dapat menggunakannya dengan reboot mesin tapi mungkin ada cara yang lebih baik
sumber
Saya pikir Anda bisa mereferensikan variabel lingkungan dari Penjadwal Tugas, tetapi baru saja mencoba, sepertinya Anda tidak bisa.
Satu pengecualian tampaknya
%PATH%
demikian, apakah mungkin untuk menambahkanMyAppPath
nilai Anda ke%PATH%
koleksi di setiap mesin, lalu panggil sajaMyApp.exe
dari penjadwal tugas, di mana mesin akan dapat menyelesaikan jalur yang sepenuhnya memenuhi syarat seperti yang diperlukan?sumber
%~d0
akan meluas ke huruf drive tempat file batch berada. (%~dp0
untuk direktori drive +, dan sebagainya. )sumber
Jawaban tsvayer tidak cukup untuk saya, di komputer yang menjalankan Windows 7, tetapi itu mengarahkan saya ke arah yang benar. Penjadwal Tugas tampaknya merupakan layanan di komputer saya; namanya adalah
Schedule
; nama tampilan adalah Penjadwal Tugas .Selain memulai ulang dari Layanan MMC, itu dapat dimulai kembali dengan
wmic
perintah berikut dijalankan dari jendela Prompt Perintah (dengan hak administrator):Tentu saja Anda juga dapat memulai ulang layanan menggunakan
sc
:Berdasarkan coba-coba, tampaknya cukup untuk menonaktifkan dan mengaktifkan kembali satu tugas, jika hanya itu yang perlu Anda pengaruhi:
sumber
Memperluas jawaban grawity, saya menggunakan proses dua langkah. Ini memungkinkan saya untuk menggunakan jalur dalam pernyataan lain saat dibutuhkan.
CATATAN:
pushd
mengubah drive dan direktori. Dan jika Anda ingin bersih,popd
setelah selesai.sumber