Змінне розширення Doskey


0

Я думаю, що відповідь на це питання - ні, але цього не повинно бути.

У командному рядку зазвичай (як приклад):

C:\> FOR %I IN (*) DO ECHO %~xI

дав би мені розширення всіх файлів у каталозі.

Я хочу використовувати DOSKEYдля створення псевдоніма з тією ж логікою. наприклад:

C:\> MACRO=ECHO $~x1

Так би це працювало так:

C:\> MACRO file.js

вихід є

.js

Очевидно, я хочу зробити щось трохи корисніше, але я не можу змусити цю базову частину працювати. Це можливо?

Відповіді:


2

Параметр Doskey $ 1 не підтримує модифікаторів, таких як пакетні параметри та змінні FOR.

Але ви можете обробити параметр Doskey в операторі FOR і використовувати звичайні модифікатори змінних FOR. Я використовую $ * замість 1 $, щоб ви могли надати більше одного значення.

doskey showExt=for %F in ($*) do @echo(%~xF

Використання:

showExt test.bat test.txt

Вихід:

.bat
.txt

Оце Так! Я не впевнений, чи це буде працювати з тим, що мені потрібно, але досить добре GD дивно. Однозначно отримайте репутацію та відповідь.
dgo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.