2012-04-24 2 views
9

У меня есть сценарий Windows .bat, в котором я пытаюсь запустить команду с паролем в параметре. Пароль, который я хочу использовать, - [email protected]#$%^&*()_+|-=\][{}';:"/.>?,<.Escaping специальных символов в cmd

Из того, что я читал here, я должен избегать ^&|\<> с ^. Из того, что я предполагаю, я должен избегать " с \".

Это дает мне что-то вроде этого:

runme.exe /password:"[email protected]#$%^^^&*()_+^|-=^\][{}';:\"/.^>?,^<" 

Но это не работает - моя цель приложение отвечает ошибки входа в систему.

Как избежать всех этих символов, чтобы иметь возможность жестко задавать пароль в моей партии (игнорируя проблемы безопасности на данный момент)?

+0

http://stackoverflow.com/questions/1741546/how-to-input- special-character-in-cmd – Atara

+0

Итак, вы предлагаете '/ password: ~! @ # $% ^^^ & *() _ +^| - = \] [{} ';:" /.^>? ,^<'? Нет, не работает. – NOtherDev

+2

% является особенным, %%, похоже, избегает его. – jon

ответ

10

Double котировка пароль и убедитесь, что полный пароль заключен в кавычки, а также:

runme.exe /password:"[email protected]#$%%^^^&*()_+^|-=\][{}';:""/.>?,<" 
+0

Это сработало: '/ password:" ~! @ # $ %%^& *() _ + | - = \] [{} ';: "" /.>?, <"' (никаких дополнительных '^' внутри кавычек). Большое спасибо! – NOtherDev

+0

Если у вас% пароль - попробуйте %% вместо этого. Подробнее здесь: http://www.robvanderwoude.com/escapechars.php –

1

Попробуйте, но если аргумент парсера runme.exe требует кавычек в качестве инкапсуляторов строк для паролей, это не сработает. Если вам нужна цитата в вашем пароле, тогда runme.exe должен предоставить способ избежать этого!

runme.exe /password:[email protected]#$%%^^^&*()_+^|-=\][{}';:"/.>?,< 
+0

Все еще не повезло. Что вы подразумеваете, предоставляя путь к побегу? К сожалению, я не могу контролировать «runme.exe». Вы предполагаете, что 'runme.exe', возможно, не сможет поддерживать пароли с' ''? – NOtherDev

+0

Я так и думал, но предложение Christian.K звучит хорошо. – jon

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