Просто попытайтесь лучше понять, почему второй элемент ниже не работает. Первый элемент прост, второй кажется яснее, третий кажется неинтуитивным.«неожиданный токен» в PowerShell при полностью запуске исполняемого файла
# My path includes pscp so this works.
pscp.exe -i $PRIVATE_KEY $file ${PROXY_USER}@${PROXY_HOST}:${PROXY_DIR}
# This does not work. I get unexpected token error. Why? What does that mean?
$PUTTY_PATH\pscp.exe -i $PRIVATE_KEY $file ${PROXY_USER}@${PROXY_HOST}:${PROXY_DIR}
# & is required to solve the problem.
& "$PUTTY_PATH\pscp.exe" -i $PRIVATE_KEY $file ${PROXY_USER}@${PROXY_HOST}:${PROXY_DIR}
Замечание: обычно рекомендуется обернуть все ваши аргументы в строках, чтобы помешать синтаксическому анализатору PowerShell. У меня возникли проблемы, прежде чем пытаться использовать $ FolderPath \ * и -p $ Password в качестве аргументов для исполняемого файла, где всегда будут работать «$ FolderPath \ *» и «-p $ Password». –