我打電話給我要搜索的文件input.txt和字符串我想查找mystring。 input.txt中(real input.txt)僅使用Windows批處理在文件中查找和複製字符串
randomstring1<>"\/=:
randomstring2<ORIGINAL>mystring</ORIGINAL>randomstring3
- 的myString的
實施例的內容是由必須被搜索
- 兩者
ORIGINAL
標籤都有效之間的字符串應該被複制到字符串<ORIGINAL>
和</ORIGINAL>
包圍剪貼板(使用|剪輯) - mystring and th電子標籤只出現一次。但是,他們沒有固定的位置
- 所有字符串可以包含特殊字符(<,>,」,\,/,=,:)
我讀的other SO questions了很多,但說實話:FOR-的環和SET命令的語法是太尷尬了我,我想我最好的拍攝將是FINDSTR命令。但是,也許還可以用正則表達式表達的一些幫助。
我不要使用VBScript, Powershell,SED,FART,AWK,grep或任何其他附加工具。
如果您發佈解決方案,請親切一些並解釋困難的部分。
我想了解它,也許對其他人也有幫助。我已經放棄了之前
我最後的嘗試是這個TEST.CMD
@echo off
set "x=randomstring1<>"\/=:randomstring2<ORIGINAL>mystring</ORIGINAL>randomstring3"
set "x=%x:*<ORIGINAL>=%"
set "x=%x:</ORIGINAL>*=%"
set x=%x:~2%
echo %x%
pause
*「for循環和SET命令語法太尷尬,我」 * - 可悲的是,許多Windows批處理腳本的功能可能會顯得很尷尬。即使習慣了它們,它們中的一些仍然看起來很尷尬,特別是如果你知道其他腳本工具或語言中更容易/更清晰的解決方案。但是,對於您來說,FOR/F循環和SET/P賦值可能是在Windows批處理腳本中逐行處理文本文件的兩個最基本的本機設備。意思是你最好習慣他們。 :)而且,誰知道,他們最終可能會在你身上成長。 :) –