我想製作一個用於查找和替換文件中多個字符串的小腳本(使用批處理和PowerShell組合)。這些文件總是不同的,所以我總是需要進入批處理並更改文件名Get-Content
和Out-File
。 現在我添加了一個提示來插入文件名,我給這個參數,所以我可以以某種方式搜索和編輯$filename.txt
例如。由於這個腳本是躺在就像我的文件相同的文件夾查找帶文件名變量的文件(獲取內容)
$filename = Read-Host -Prompt 'Input filename'
(gc $filename.txt) -replace 'foo', 'bar' | Out-File $filename.txt
:
這裏與僅更換一個字符串正常PowerShell代碼(我將在一個批處理文件稍後重新整合這一點)不會需要一條路。
我還發現gc
無法讀取變量,這正是我的問題在這裏:我得到一個錯誤代碼,該參數不能綁定到「路徑」,因爲它是NULL。
我找不到別的樣子,發現了很多線程如何出文件中的變量或如何獲得文件內容爲一個變量,但沒有安裝到我的情況,所以我真的很感激任何幫助你們!
我不明白爲什麼你需要批處理和PowerShell。如果你在PowerShell中工作,那麼我認爲你最好放棄批處理。如果你想使用批處理,那麼你可以考慮我的[JREPL.BAT混合JScript /批處理實用工具](http://www.dostips.com/forum/viewtopic.php?t=6044)。您可以使用SET/P來提示FileName變量的值。然後,你可以簡單地使用'調用jrepl「foo」「bar」/ L/F'%FileName%「/ O -' – dbenham
我想我已經找到了這個批處理,但是我對所有內容都感到困惑哈哈, d實際上只需要在最後添加這部分? 我知道這個/ P選項,但我試圖在一個批處理中與powershell一起使用,並且不起作用 Powershell因爲人們一直在說:既然powershell是預先安裝而不是批量使用 也許因爲和你的批處理一樣,我需要很多代碼才能使批處理工作與PowerShell一樣簡單 我想批量集成它,朋友也可以使用它。所以我需要它儘可能簡單。 – Shoru