[英]How to use a variable in powershell replace command (from Windows CMD)
我目前正在使用以下命令在文件中進行查找和替換(我在代碼中用Google搜索,並剛剛添加了-encoding UTF8
因為否則Apache拒絕將文件讀取為php文件):
powershell -Command "(gc app.php) -replace '/../', '/../new_project_name/' | Out-File -encoding UTF8 app.php"
只要文件夾為“ new_project_name”,代碼就可以正常工作。 new_project_name
實際上應該是一個變量名。 例如,如果SET new_project_name=example
則功能SET new_project_name=example
如下:
powershell -Command "(gc app.php) -replace '/../', '/../example/' | Out-File -encoding UTF8 app.php"
我試過將變量傳遞給powershell命令,但要么出錯,要么不做任何更改。
從批處理腳本啟動的PowerShell命令的env:
范圍中的批處理腳本中定義的變量可用(因為它繼承了父腳本的環境):
Set "new_name=example"
powershell -Command "(gc app.php) -replace '/../', \"/../$env:new_name/\" | ..."
請注意,如果在(PowerShell)字符串中使用變量,則必須將該字符串用雙引號引起來。 單引號不起作用。 對於CMD,使用反斜杠轉義嵌套的雙引號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.