Я только что показал своей подруге некоторые интересные вещи, которые можно делать с помощью командной строки и пакетного кода, и она очень заинтересовалась и хочет попробовать это самостоятельно, когда у нее будет время. Вскоре после этого у меня возникла идея создать красивый, хорошо отполированный командный файл, который не только продемонстрирует, но и отобразит код в коде в командном окне без командного окна, выполняющего команды.
Пример: рассматриваемый код %date%
будет отображать текущую дату, когда у меня есть код echo %date%
в строке. Я хочу, чтобы %date%
отображался как обычный текст.
Какого кода мне не хватает, чтобы %date%
, %time%
и любой другой пакетный код отображались как обычный текст, чтобы человек, получающий удовольствие от файла, мог видеть код без необходимости шифровать код, чтобы найти код, который я хочу, чтобы они выучили?
P.S.
У меня такое чувство, что на этот вопрос можно было ответить в другой ветке, и если да, то за ссылку на него я могу получить бесплатно. Спасибо!
Вам нужно экранировать символы процента символами процента. echo %%date%%
. — person Thomas Chidwick schedule 23.12.2019
просто потому, что он вам, вероятно, скоро понадобится: escape-символ для большинства других ядовитых символов (символы, которые имеют особое значение в cmd
) — это каретка ^
: echo ^&^<^>^|
— person Thomas Chidwick schedule 23.12.2019
Для полноты: в командной строке %
-экранирование путем удвоения не работает, поэтому вам нужно сделать echo %^date%
, чтобы буквально вернуть %date%
(при условии, что переменная %^date%
не определена) … — person Thomas Chidwick schedule 23.12.2019
Основной вопрос, однако, заключается в том, зачем кому-то изучать код у кого-то, кто сам не знает, как кодировать код, которому они пытаются научить? — person Thomas Chidwick schedule 23.12.2019
Удалите первую строку echo off
. — person Thomas Chidwick schedule 24.12.2019
@Compo: открывать что-то вместе — это интересный способ учиться, но не обязательно неэффективный. (Это одна из наших причин быть на SO, не так ли?) — person Thomas Chidwick schedule 24.12.2019
@Mark: повторение команды показывает команду после раскрытия переменных, поэтому она не будет печатать echo %date%
, а будет напечатать что-то вроде echo 24.12.2019
(в зависимости от локальных настроек) — person Thomas Chidwick schedule 24.12.2019
@Compo: учить или исследовать вместе. Насчет первого вы абсолютно правы. — person Thomas Chidwick schedule 24.12.2019