所以我想創建一個腳本,它需要3個參數:文件路徑,替換確切詞,以及替換它的內容。如何創建這樣的事情?如何使用bat文件腳本替換文本文件中的文本?
一般來說,我希望它有一個這樣的API:
script.bat "C:/myTextDoc.xml" "_WORD_TO_REPLACE_" "WordTo Use"
所以我想創建一個腳本,它需要3個參數:文件路徑,替換確切詞,以及替換它的內容。如何創建這樣的事情?如何使用bat文件腳本替換文本文件中的文本?
一般來說,我希望它有一個這樣的API:
script.bat "C:/myTextDoc.xml" "_WORD_TO_REPLACE_" "WordTo Use"
快速谷歌搜索發現這一點:
我寫的東西就像我的生活2個批處理腳本,但這裏是如何從命令行輸入:
script.bat filepath find replace
%1 = filepath, %2 = find, %3 = replace
進行替換,這樣做:(直接從張貼@russ鏈接,與變量編號採取改變)
for /f "tokens=1,* delims=]" %%A in ('"type %1|find /n /v """') do (
set "line=%%B"
if defined line (
call set "line=echo.%%line:%~2=%~3%%"
for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
) ELSE echo.
)
我認爲這應該爲你工作。
使用fnr實用程序比其他知名實用程序更好,因爲它可以根據正則表達式進行搜索和替換。此外,對於UI愛好者,您可以在UI中配置選項,並且可以生成命令行字符串,然後可以在您的腳本中使用它。即使作爲命令行也很容易使用。
在此查找http://findandreplace.codeplex.com/
而且它是一個沒有任何dependicies單個exe文件,很容易使用。
例子:
fnr --cl --dir "" --fileMask "hibernate.*" --useRegEx
--find "find_str_expression" --replace "replace_string"
聲明 「這是一個沒有任何相關性的一個EXE」 是假的。 FNR是一個.NET應用程序,因此客戶機上至少需要一個特定的.NET版本。來源:http://findandrereplace.codeplex.com/SourceControl/latest – 2014-09-09 12:00:23
當前(1.7)版本不接受空的--dir參數。給出當前的工作目錄將完成這項工作:--dir%CD% – 2014-09-09 12:15:13