0
我是PowerShell的新手,瞭解cmdlet的工作原理。我有三條路徑,我想確保它們都有尾部斜線。下面的代碼應該檢查每一個並附加一個\如果不存在,但它不會最終改變它們本身。ForEach-Object循環中字符串的破壞性處理?
# append trailing slash if not present
$engineXCopyPath, $engineXBackupPath, $enlistmentBuildTargetPath | ForEach-Object {
if(!$_.EndsWith("\")) {
$_ += "\"
}
}
感謝您的幫助!
這工作!我仍然不明白'$ _'的作用,並且不知道它的名字,因此很難搜索到它。你可以給我一個鏈接進一步閱讀? – Benjin 2014-10-01 21:14:45
$ _是管道中當前對象的值,而不是實際對象。此解決方案使用間接(=)使用退出值計算新值,並將其重新分配回原始對象。我有點不知所措,想出一個明確解釋這一點的鏈接。也許別人可以。 – mjolinor 2014-10-01 21:27:55