Stránka 1 z 1

Příkazový řádek - dávka

Napsal: 16 dub 2014 17:50
od RavenFCB
Zdravím,
potřebuji pomoct s dávkou v příkazovém řádku a to následovně:
DOWNLOAD zde : http://www.sendspace.com/file/ro0hxc
nebo zde: http://www.edisk.cz/stahni/28469/vstup.txt_54.87KB.html

Tenhle vstupní .txt soubor obsahuje Identifikační kody tzv. RIV čísla RIV/61989100:27350/12:86083111 (až po první dvojtečku jsou všechna RIV čísla stejná). Potřebuji najít všechna RIV čísla a vypsat do vystup.txt . Nejlépe max 5 RIV čísel na řádek.


Zatím jsem se inspiroval tímhle ale moc nevím jak dál:

Kód: Vybrat vše

@echo OFF &SETLOCAL
FOR %%f IN (VYSTUP.txt) DO (
    ECHO Processing %%f --^> %%~nf.txt
    (for /f "usebackq delims=" %%a in ("%%~f") do call:doit "%%a")>"%%~nf.txt"
)
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


"PATH>(for /f "delims=abc" %b in ("abc12345") do echo(%b )"

Re: Příkazový řádek - dávka

Napsal: 16 dub 2014 20:54
od Uziv00
Můžu ti to napsat ve vbs.

Re: Příkazový řádek - dávka

Napsal: 16 dub 2014 20:57
od RavenFCB
Bohužel potřebuji čistě dávku přes příkazový řádek,tak znělo zadání (je to úkol k zápočtu).

Re: Příkazový řádek - dávka

Napsal: 30 dub 2014 13:32
od RavenFCB
Tak už jsem to dostal do stavu kdy vše jede ok:

Kód: Vybrat vše

@echo off
   setlocal enabledelayedexpansion
   find "vysledek identifika" RIV13.vav > promenna.txt
set /a i=0
FOR /F tokens^=2^ delims^=^" %%A in ('findstr "vysledek identifikacni-kod=" promenna.txt') do (
set /a i+=1
set "x=%%A , !x!"
if "!i!" EQU "5"    (
echo !x! >> VYSTUP.txt
set /a "i=0"
set x=
)   
)
echo !x! >> VYSTUP.txt
del promenna.txt
echo HOTOVO
pause




VYSTUP:

Kód: Vybrat vše

RIV/61989100:27350/12:86084134 , RIV/61989100:27350/12:86084127 , RIV/61989100:27350/12:86084119 , RIV/61989100:27350/12:86083112 , RIV/61989100:27350/12:86083111 ,  RIV/61989100:27350/12:86082109 , RIV/61989100:27350/12:86082105 , RIV/61989100:27350/12:86080481 , RIV/61989100:27350/12:86077573 , RIV/61989100:27350/12:86084137 ,  RIV/61989100:27350/12:86083316 , RIV/61989100:27350/12:86082849 , RIV/61989100:27350/12:86082658 , RIV/61989100:27350/12:86082655 , RIV/61989100:27350/12:86082517 ,  RIV/61989100:27350/12:86082517 ,
RIV/61989100:27350/12:86084869 , 

Potřebuji ale dodělat drobnost a to aby za POSLEDNÍM RIV ČÍSLEM nebyla čárka. Tzn jak se ve výstupu zbavit posledního znaku ,