我已經宣告了以下變數:
$dir = 'C:\Users\user1\folder1'
$fname = 'abc.txt'
$tmp_fname = 'abc1.txt'
現在,我正在遠程嘗試執行以下命令:
invoke-command -cn $mycomp -Credential $mycred -ScriptBlock {
param($fname, $tmp_fname)
rename-item $dir\$fname -NewName $dir\$tmp_fname
} -ArgumentList ($fname, $tmp_fname)
執行上述命令后,我收到以下錯誤:
invoke-command -cn $server -Credential $host_cred -ScriptBlock {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
uj5u.com熱心網友回復:
你幾乎明白了,這里有一些意見和建議。
- 你沒有傳遞所有的論點,在你的情況下是
$dir $dir是別名,$env:windir因此請嘗試使用其他名稱。- 在您的示例
$dir = 'C:\Users\user1\folder1'中,您參考了遠程計算機上的特定用戶檔案夾,這可能有效,但您最好注意該參考。 - 雖然它可能有效,但我會盡量避免在變數之間使用符號
$dir\$fname,更好的方法是在中包含反斜杠,$dir然后像這樣組合兩者$($dir $fname)
說了這么多,這就是我認為應該為你作業的東西
$dPath = 'C:\Users\user1\folder1\'
$fname = 'abc.txt'
$tmp_fname = 'abc1.txt'
invoke-command -ComputerName $server -Credential $host_cred -ScriptBlock {
param($fname, $tmp_fname)
rename-item -LiteralPath $($dPath $fname) -NewName $($dPath $tmp_fname)
} -ArgumentList $fname, $tmp_fname , $dPath
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440023.html
標籤:视窗 电源外壳 PowerShell-2.0 powershell-3.0
上一篇:如何防止MenuStrip處理WinForms中的某些鍵?
下一篇:匯出c dll類意外行為
