2013-07-26 48 views
0

我想創建一個批處理文件,它將查找文件中的字符串並將其替換爲新值。批處理文件查找字符串,其中包含子字符串並分配給變量

for ex。

的test.txt包含幾行文字,將包含下列文本其中YYYYMMDD可以是不同的:

"location":"/test/update_20130723/update_20130723.txt" 
"/test/update_20130723/update_20130724.txt", 
"/test/update_20130723/update_20130725.txt" 

我想批處理文件更新的test.txt其中「update_ *」與「update_20130726」

這是我下的test.bat:

set newFilename="/test/update_20130726/update_20130726.txt" 

for /f "tokens=* delims= " %%a in (test.txt) do (
set str=%%a 
set str=!str:"update_*/update_*.txt"=%newFilename%! 
echo !str!>> newfile 
) 

當我嘗試運行此代碼,沒有得到更新的test.txt。

在此先感謝。

回答

0

要使用REPL添加一個命令:

repl.bat可以在這裏也可以找到 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855

type "test.txt" | repl "(update_........)" "update_20130726" m >"file.txt" 
+0

repl.bat完美的作品!謝謝!! – jb26

+0

可以使用repl.bat查找所有「NUL」值(其中「NUL」的十六進制值爲00),並用空格替換?我試過鍵入「test.txt」| repl「00」「」m x \ xnn> update_test.txt並且似乎不能正常工作。 – jb26

+0

'輸入「test.txt」| repl「\ x00」「」mx>「update_test.txt」< - 這應該可以工作。 – foxidrive

相關問題