Я новичок в PowerShell. В Msys2 (или Lnux) я определил функцию npp
npp ()
{
${NPP_PATH} "$@"
}
так, что если я вызываю из командной строки npp
, она запускает Notepad ++ (как определено в ${NPP_PATH}
). Если я позвоню npp "mydir/stage 1/a.txt"
, он откроет этот файл для редактирования. Вообще говоря, он позволяет:
- Любое количество параметров.
- Параметры, содержащие пробелы, если они экранированы соответствующим образом.
Что будет эквивалент в PowerShell?
Я думаю, что в PS я должен также go для функции, чтобы получить аналогичное поведение. До сих пор я мог получить неопределенное количество параметров и использовать их в foreach
l oop, см. Код ниже. Но я не смог найти эквивалент простого "$@"
для передачи всех параметров по мере их получения. Более того, если я использую кавычки в одном из аргументов, они удаляются, поэтому вероятно возникнут проблемы с путями к файлам, включая пробелы.
function multi_params {
param(
[Parameter(
ValueFromRemainingArguments=$true
)][string[]]
$listArgs
)
$count = 0
foreach($listArg in $listArgs) {
'$listArgs[{0}]: {1}' -f $count, $listArg
$count++
}
}