2013-04-09 81 views
1

重命名項目A B寫我的第一個PowerShell腳本:命令未在腳本

當在shell中鍵入的認可,並提供有在本地目錄中的文件A,重命名工作。

當我寫了一個行腳本,把它放在一個文件夾中,路徑導出到這個文件夾,去到另一個文件夾,包含文件A,並調用腳本,會出現以下情況:

'rename-item'不被識別爲內部或外部命令,
可操作的程序或批處理文件。

我錯過了什麼?

+0

我懷疑你正試圖從一個普通的命令提示符調用PowerShell腳本(CMD .exe),而不是從powershell命令提示符(powershell.exe),因爲這是您在常規命令提示符下得到的確切錯誤。 – EBGreen 2013-04-09 15:17:25

+0

@EBGreen,我從powershell調用該文件。但該文件被稱爲rename.bat。可能這是我的問題。 – Vorac 2013-04-09 15:19:38

+4

這絕對是你的問題。重命名它.ps1 – EBGreen 2013-04-09 15:22:17

回答

2

當您運行批處理文件時,您正在調用其中包含PowerShell命令的批處理文件。命令提示符通過Powershell引導其輸出,這是上述錯誤。 Command.exe無法運行powershell cmdlet,所以當它到達Rename-Item時,它不是一個好的內部或外部命令,可操作的程序或批處理文件。

當您Ping www.google.com時,Ping.exe會被調用,例如什麼是好命令或可執行文件。

Powershell可以從command.exe運行命令,反之亦然。

你可以看到同樣的結果,如果你打開一個命令提示符並嘗試運行PowerShell命令或cmdlet的:

H:\>rename-item 'rename-item' is not recognized as an internal or external command, 
operable program or batch file. 
+0

因此,powershell解釋器僅在擴展名爲.ps1和其他文件的文件上調用。 [沒有辦法改變這個。](http://stackoverflow.com/q/12230228/1145760) – Vorac 2013-04-10 05:43:50