2013-07-10 19 views
2

我已經INPUT.TXT:如何找到在Windows命令文本文件串並複製下一個5個字符

 
asdfasfasdfa,abc12345,abc98591,abc13456,abc95934,abc53455 
safasdfasdfa,abc31212,abc55455,abc23124,abc54834,abc13689 
... 

我需要output.txt中:

 
12345 
98591 
13456 
95934 
53455 
31212 
55455 
23124 
54834 
13689 

所以我需要找到所有「 abc「字符串並將下5個字符(在」abc「之後)複製到新文件中,每個數字必須換行。

回答

3

檢查出來:

@echo OFF &SETLOCAL 
FOR %%f IN (*.txt) DO (
    ECHO Processing %%f --^> %%~nf.txt.new 
    (for /f "usebackq delims=" %%a in ("%%~f") do call:doit "%%a")>"%%~nf.txt.new" 
) 
GOTO :EOF 

:doit 
SET "line=%~1" 
SET "first=true" 
:loop 
SET "token=" 
FOR /f "tokens=1*delims=," %%b IN ("%line%") DO (
    SET "token=%%b" 
    SET "line=%%c" 
) 
SET "out=%token:~-5%" 
IF NOT DEFINED first ECHO(%out% 
SET "first=" 
IF DEFINED line GOTO :loop 
GOTO :EOF 
+0

忽略了最低的工作。在輸出中我有:「PATH>(for/f」delims = abc「%b in(」abc12345「)do echo(%b)」 –

+0

設置'echo off',它不能與'echo on'一起使用。 – Endoro

+0

謝謝!現在它工作得很好 –

相關問題