Экранирование специальных символов в cmd

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

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

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

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

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

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

2 ответов


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

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

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

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