2011-03-29 166 views

回答

6

我寫的東西就像我的生活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. 
) 

我認爲這應該爲你工作。

8

使用fnr實用程序比其他知名實用程序更好,因爲它可以根據正則表達式進行搜索和替換。此外,對於UI愛好者,您可以在UI中配置選項,並且可以生成命令行字符串,然後可以在您的腳本中使用它。即使作爲命令行也很容易使用。

在此查找http://findandreplace.codeplex.com/

而且它是一個沒有任何dependicies單個exe文件,很容易使用。

例子:

fnr --cl --dir "" --fileMask "hibernate.*" --useRegEx 
     --find "find_str_expression" --replace "replace_string" 
+0

聲明 「這是一個沒有任何相關性的一個EXE」 是假的。 FNR是一個.NET應用程序,因此客戶機上至少需要一個特定的.NET版本。來源:http://findandrereplace.codeplex.com/SourceControl/latest – 2014-09-09 12:00:23

+0

當前(1.7)版本不接受空的--dir參數。給出當前的工作目錄將完成這項工作:--dir%CD% – 2014-09-09 12:15:13

相關問題