2015-07-04 4 views
1

Так у меня есть folloing пакетный скрипт (test.bat):Batch сценариев: Передайте аргумент пароль, содержащий каретку характер

@echo off 

set usernameArgument=%1 
set passwordArgument=%2 

echo Password Argument: %passwordArgument% 

В ЦМД, если я называю это с помощью пароля аргумент, который имеет каретку " ^»характер каретка персонаж получает раздели:

C:\> test.bat UserName Pass^Word 

ВЫВОД: Password Argument: PassWord

есть ли способ я могу получить значение из passwordArgument field (% 2) с символом каретки,

ПРИМЕЧАНИЕ: У меня есть ограничение, так как это пароль, который я не хочу передавать в чем-то вроде этого.^^^^ Word. Я хотел бы найти решение, которое позволяет мне просто передать Pass^Word в качестве аргумента.

ответ

3

^ - это экранированный символ в cmd. если вы должны использовать это в своем пароле, то вы должны использовать его два раза, то есть ^^, чтобы получить его по паролю.

Например, если вы введете pass^^word, то ваш пароль будет pass^word.

Альтернативой может быть использование " двойных кавычек вокруг пароля. Например: «pass^Word». Это решит вашу проблему.

Надеюсь, что это поможет.

+0

Передача в двойных кавычках работает, спасибо Мухаммаду. –

 Смежные вопросы

  • Нет связанных вопросов^_^