Это результат обсуждения DosTips около девяти лет назад.
Ваш код перенаправит значение !modified!
в datatest.csv.TEMP или напечатаетпустая строка в этом файле, если переменная пуста.Согласно echo /?
, официальный способ отображения пустой строки - использовать echo.
.Однако, если cmd.exe каким-то образом может найти исполняемый файл без расширения с именем echo
(например, файл в том же каталоге, что и скрипт), этот файл используется вместо обычной команды echo
.
Было рассмотрено несколько альтернатив echo.
, включая echo\
, echo:
, echo/
и echo(
.echo\
было исключено в случае ситуации, когда существовала папка с именем echo
, в которой содержался файл с тем же именем, что и все, что выводилось на экран.echo/
был исключен в ситуациях, когда отображаемая строка начиналась с ?
, поскольку в этом случае отображалась справка.echo:
был исключен для крайне редких ситуаций, когда использовалась подстановка строк.
В конечном итоге, echo(
закончился просто потому, что никто не мог найти ситуацию, где это не сработало.(Позже было предположение, что echo=
, echo,
и echo;
можно безопасно использовать без каких-либо странных побочных эффектов или крайних случаев. Однако, если вы пытаетесь отобразить буквенную строку /?
,вместо этого будет отображаться справка для echo
.)
)
не включен, поскольку будет отображаться.