Cmder: Buat alias dengan tanda sama dengan terpotong di cmder cli

Dibuat pada 2 Feb 2017  ·  3Komentar  ·  Sumber: cmderdev/cmder

Hai sesuai judul, ketika saya mencoba di cmder Prompt untuk membuat alias dengan tanda sama, apa yang datang dengan = terpotong dan tidak disimpan dengan benar di file user-aliases.cmd .

Misalnya:
λ alias wifi=netsh wlan show profile $1 key=clear
akan disimpan sebagai:
wifi=netsh wlan show profile $1 ke

Saya kira untuk $reasons cmder membaca y=clear sebagai $something layak dievaluasi dan karenanya terputus dari proses penyimpanan alias yang sebenarnya. Mengedit file secara manual dengan cepat mengatasi masalah ini.

Apakah saya secara terang-terangan melewatkan sesuatu di Effin' Manual yang terus berkembang yang belum saya baca secara akurat? 😛

Komentar yang paling membantu

Sepertinya perintah doskey (yang membungkus alias) menangani contoh Anda, jadi ini mungkin bug dalam skrip alias.bat.

Anda dapat men-debug dengan memodifikasi alias.bat dan mengubah baris pertama menjadi <strong i="6">@echo</strong> on . Melihatnya sekarang, saya melihat bahwa ada titik di mana skrip membagi string alias menggunakan "=" sebagai pembatas, dan mengasumsikan bahwa hanya akan ada satu = dalam string.

Berikut cara mengatasinya: di alias.bat, temukan baris yang mengatakan ":: validasi alias" dan di baris berikut ganti '2' dengan '*', seperti ini:

untuk /f "delims== tokens=1,* usebackq" %%G in ( echo "%_x%" ) lakukan (

Ini sepertinya bekerja untuk saya dengan contoh Anda.

Semua 3 komentar

Sepertinya perintah doskey (yang membungkus alias) menangani contoh Anda, jadi ini mungkin bug dalam skrip alias.bat.

Anda dapat men-debug dengan memodifikasi alias.bat dan mengubah baris pertama menjadi <strong i="6">@echo</strong> on . Melihatnya sekarang, saya melihat bahwa ada titik di mana skrip membagi string alias menggunakan "=" sebagai pembatas, dan mengasumsikan bahwa hanya akan ada satu = dalam string.

Berikut cara mengatasinya: di alias.bat, temukan baris yang mengatakan ":: validasi alias" dan di baris berikut ganti '2' dengan '*', seperti ini:

untuk /f "delims== tokens=1,* usebackq" %%G in ( echo "%_x%" ) lakukan (

Ini sepertinya bekerja untuk saya dengan contoh Anda.

Terima kasih telah menjelaskan secara rinci masalah yang dihadapi, sangat berguna bagi saya karena saya seorang pemula dalam hal CMD! :)
Saya dapat mengkonfirmasi koreksi Anda memperbaiki masalah, terima kasih! Apa aku harus mengerjakan PR?

Saya dapat membuat permintaan tarik dengan perbaikannya. Terima kasih telah mengonfirmasi bahwa ini berfungsi untuk Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

hyrious picture hyrious  ·  3Komentar

bmeverett picture bmeverett  ·  3Komentar

emesx picture emesx  ·  3Komentar

giuliannosbrugnera picture giuliannosbrugnera  ·  3Komentar

luisrudge picture luisrudge  ·  3Komentar