Отладка и тестирование многострочных команд в Powershell ISE беспокоило меня годами. Мне нравится иметь команды с несколькими строками, потому что их легко читать, но они усложняют отладку. В качестве примера я использую следующую команду для получения папок старше $days
(что, кстати, работает).
$dirs = Get-ChildItem $targetDir -Directory -exclude *.ps1 `
| Where CreationTime -gt (Get-Date).AddDays(-1 * $days) `
| Sort-Object -Property LastWriteTime
Я бы хотел изменить AddDays
на AddMinutes
для проверки разных наборов результатов, но я хочу оставить исходную строку, чтобы можно было легко переключаться назад и вперед. Ниже я скопировал строку, которую хочу сохранить, и закомментировал ее, а на новой строке изменил AddDays
на AddMinutes
. Добавление #
нарушает многострочную функцию. Есть ли простой способ обойти это, мне не нужно вырезать мою скопированную строку и переместить ее «из» команды? Или есть способ разбить / разложить команду на несколько строк и из них?
$dirs = Get-ChildItem $targetDir -Directory -exclude *.ps1 `
# | Where CreationTime -gt (Get-Date).AddDays(-1 * $days) `
| Where CreationTime -gt (Get-Date).AddMinutes(-1 * $days) `
| Sort-Object -Property LastWriteTime
(выше не работает из-за закомментированной строки)