Я использую Powershell и 7zip вместе:Правильный синтаксис команды alias в Powershell с -p?
$passwd = "password123"
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe"
sz a -t7z -sfx'7z.sfx' -ppasswordstring $execname $ssftxtname
Если результат будет иметь пароль passwordstring
. Как заменить последнюю строку, чтобы вместо этого использовать переменную $passwd
? Это:
sz a -t7z -sfx'7z.sfx' -p$passwd $execname $ssftxtname
Похоже, что не дает правильного результата, поскольку сбой ввода пароля невозможен. Я предполагаю, что это потому, что существует конкретный синтаксис для использования?
ли '$ passwd' содержат пробелы или знаки пунктуации или специальные символы? – briantist
@briantist Нет пробелов. Он может иногда содержать числа или символы (например, #). – Zeno
Я не совсем уверен, в чем проблема, поэтому я не хочу писать полный ответ на данный момент, но у меня есть некоторые идеи. Попробуйте использовать кавычки '' -p $ passwd'' или попробуйте использовать другой метод для запуска 7zip, например 'Start-Process', где вы можете явно передать аргументы. – briantist