批量查找特殊字符

时间:2012-10-16 15:37:38

标签: batch-file find

我有以下文件repoinfo.tmp:

Revisión: 7 //(7 or any number)

我想找到数字,7以便创建增量备份

我的代码是:

SET LAST_REV=

for /f "usebackq tokens=1,2 delims=: " %%i in 

find "Revision: " "%TEMP%\repoinfo.tmp")做(

SET LAST_REV=%%j

)

问题是我的输出是西班牙语和字符ó会产生问题,也许我应该尝试使用findstr或正则表达式...

该文件完全包含:我只需要输出comans输出并通过管道我保存它。 这就是为什么out不是'ó'

Ruta: hardware
URL: http://localhost:800/hardware
Ra¡z del repositorio: http://localhost:800/hardware
UUID del repositorio: fc0eaf3c-dae0-114c-8de9-14799a96cf30
Revisi¢n: 8
Tipo de nodo: directorio
Autor del £ltimo cambio: ruben
Revisi¢n del £ltimo cambio: 8
Fecha de £ltimo cambio: 2012-10-16 17:26:39 +0200 (mar 16 de oct de 2012)

我改变了我的代码,现在它起作用了,在我写的'Revisi¢n'的查找参数中它起作用了。

for /f "usebackq tokens=1,2 delims=: " %%i in 

find "Revisi¢n: " "%TEMP%\repoinfo.tmp")做(

  SET LAST_REV=%%j

)

1 个答案:

答案 0 :(得分:0)

使用您提供的信息,我建议使用带有findstr的正则表达式。如果您正在寻找以下代码的输出,请告诉我:

SET LAST_REV=
for /f "usebackq tokens=1,2 delims=: " %%i in (`findstr /brc:"Revisi.n: ." "%TEMP%\repoinfo.tmp"`) do (
SET LAST_REV=%%j
)