Saya akan mencoba baris berikut:
for %a in (.) do title %~na
Atau dalam file batch Anda akan keluar dari %
sekali:
for %%a in (.) do title %%~na
The for...do
loop hanya ada untuk mendapatkan jalan saat ini menjadi variabel karena Anda tidak dapat menggunakan ~
operator dengan variabel lingkungan seperti ( %cd%
).
Namun, seperti yang Anda perhatikan, ini tidak akan berfungsi untuk "Command Prompt here", karena ini dijalankan sebelum direktori ditetapkan.
Untuk menghindari ini, Anda pada dasarnya harus mengubah baris perintah yang dipanggil setiap kali Anda menggunakan fungsi ini.
Ini dikontrol oleh dua variabel dalam Registry, keduanya merupakan sub kunci dari HKEY_CLASSES_ROOT\Directory
:
HKEY_CLASSES_ROOT\Directory\shell\cmd\command
: Kunci ini mendefinisikan perintah yang akan dijalankan ketika Anda Shift+ klik kanan ikon direktori / folder.
HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command
: Kunci ini mendefinisikan perintah yang akan dijalankan ketika Anda shift+ klik kanan di suatu tempat di jendela Explorer yang terbuka.
Secara default, kedua nilai default ini diatur ke cmd.exe /s /k pushd "%V"
, yang akan membuka jendela perintah dan mengubah direktori ke parameter yang dilewatkan sebagai %V
.
Jadi agar ini berfungsi, Anda harus mengedit dua nilai default dan menambahkan perintah dari atas, sedikit dimodifikasi. Cukup atur kedua nilai default untuk ini:
cmd.exe /s /k "pushd ""%V"" && for %%A in (%V) do @title %%~nA"
Perhatikan tanda kutip ganda untuk benar melarikan diri mereka, karena semuanya tertutup dalam satu pasang tanda kutip untuk kelompok segalanya untuk cmd.exe 's /k
parameter. Di @
sana akan menyembunyikan perintah agar tidak ditampilkan di dalam jendela perintah.
Ini berfungsi untuk saya, tetapi ada satu kebiasaan kecil yang terlibat: Jika nama direktori Anda berisi lebih dari satu titik, seperti one.two.three
, ini akan menamai judul one.two
saja.
Perlu diingat juga bahwa judul tidak akan diperbarui ketika Anda CD ke direktori lain. Membuat ini bekerja akan sedikit lebih rumit (atau mungkin bahkan tidak mungkin; jangan coba-coba).