2
目前我使用PS從基於CSV文件的網絡位置複製文件,然後使用相同數據的變體重命名它們。這要求我運行兩個單獨的命令。如何將複製和重命名命令合併爲一個使用Powershell的命令?
如何將這些命令合併爲一個?
複製:
import-csv C:\TEST\test.csv | foreach {copy-item -path $_.npath -destination 'C:\TEST\'}
粘貼:
import-csv C:\TEST\test.csv | foreach {rename-item -path $_.lpath -newname $_.newalias}
注意,在每種情況下-path觸發器是指一個單獨的可變報頭,與NPATH其中LPATH對應於網絡的文件位置,然後是手動輸入的本地文件位置。
在同樣的筆記,我怎麼可以連接這個變量到恆定的數據。如果我有一個變量FN表示文件名和另一路徑,我能在理論上做:
foreach {rename-item -path 'C:\TEST\' + $_.fn
或者:
foreach {rename-item -path $_.path + $_.fn
我正在尋找一種方法來整合這兩個命令來訪問只有一個變量,即是否有一個命令,允許您複製一個文件,然後重命名它?這將類似於:foreach {copy-item -path $ _。path -destination'C:\ TEST \'-newname $ _。newalias}?這裏的問題是沒有複製項目的新名稱觸發器。關於追加一個字符串,你可以通過簡單地使用加號連接兩個變量,即$ _。path + $ _。fn會起作用嗎? – toolshed
只需在複製項目複製項目路徑$ _的目標參數中使用字符串連接。npath -destination「C:\ TEST \ $ _ newalias」 – rerun
「C:\ TEST \」並不總是恆定的。有時我需要追加$ _。fn到$ _。路徑來獲得完整的文件路徑。我試過$ _。path + $ _。fn,但是這會導致錯誤。 – toolshed