Ketika memperluas menu konteks shell Windows (misalnya untuk menambahkan perintah 'Buka perintah di sini' pada direktori), kunci 'perintah' perlu dibuat di registri.
Nilai kunci 'perintah' ini tampaknya dapat berupa baris perintah apa pun yang valid.
Saya ingin tahu 'variabel khusus' mana yang tersedia untuk digunakan di dalam baris perintah ini.
Sebagai contoh, saya menggunakan perintah berikut untuk membuka jendela cmd dari dalam menu konteks direktori (*):
cmd.exe /e:on /f:on /s /k pushd "%V"
Saya tidak dapat menemukan referensi apa yang %V
sebenarnya berarti atau apa daftar lengkap variabel tersebut.
(*) Kunci registri berikut dibuat untuk ini:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmdshell]
@=Open Command Prompt Here"
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmdshell\command]
@="cmd.exe /e:on /f:on /s /k pushd \"%V\""
%W
: Itu tidak selalu tersedia dan akan melemparkan pesan kesalahan samar jika digunakan dalamcommand
nilai Anda . Misalnya, memanggil item menu konteks Anda pada menu konteks drive atau folder library tidak akan menginisialisasi variabel ini. Hindari penggunaannya di luar entri menu konteks penangan file.%~
? Saya hanya mendapatkan kesalahan.%V
harus digunakan jika Anda ingin nama direktori, yaitu. ketika Anda ingin menambahkan perintah Anda pada menu konteks ketika Anda mengklik latar belakang, bukan pada satu file atau nama direktori.%L
tidak akan bekerja dalam kasus itu.Pertanyaan ini membuat saya penasaran sehingga saya melakukan beberapa percobaan. Saya punya folder
C:\iso
. Apa yang saya temukan ketika saya melakukan hal klik kanan:I
mengembalikan serangkaian angka yang berbeda pada setiap percobaan.H
selalu 0 danS
selalu 1D
.L
,, danV
semua folder target.W
adalah induk dari folder target. Adakah yang mau memperluas ini?FYI: Saya menggunakan entri registri berikut untuk menguji:
(Karakter `digunakan untuk pembatas)
sumber
Berikut adalah argumen / sintaks untuk cmd.exe
/k
melakukan perintah yang ditentukan oleh string berikut sehingga mengeksekusi perintahpushd %V
dan karena satu-satunya argumen yang diterima pushd adalah path, maka%V
variabel yang dikirimkan oleh explorer yang berisi path folder diklik kanan.sumber
Memang sulit untuk menemukan apa arti% V atau daftar variabel-variabel itu, melalui Google Saya telah menemukan bahwa tampaknya ada juga% L. Saya tidak berpikir Anda harus melewati lebih dari% V atau% L ke prompt, karena menurut saya tidak ada informasi berguna lainnya. Di mana% V bisa menjadi nama direktori,% L bisa menjadi lokasi ke file. Melakukan 'gema' dapat membantu ketika ragu ...
sumber