T-Diddy
T-Diddy

Reputation: 39

1 Character in path changing... How to Handle?

I have a path: \%VARIABLE%svr0001\e$\Users\%VARIABLE%POS00??\E2ELOGS*.dbg

The ONLY characters that changes is the '??' (%VARIABLE%POS00??).

How would I make the following script work without creating if path exist statements for every potential changing value:

setlocal enabledelayedexpansion
for /f "delims=" %%a in ('find /c /i "Error   : -2" "\\%VARIABLE%svr0001\e$\Users\%VARIABLE%POS00??\E2ELOGS\*.dbg"') do (
  set "$line=%%a"
  set "$lastchar=!$line:~-1!"
  if !$lastchar! gtr 0 echo %%a >>NO_ACK_ERROR-2.txt
)

Upvotes: 0

Views: 46

Answers (2)

gbabu
gbabu

Reputation: 1108

If I understood it correct, you want to check the log files with the name POS001-POS0015, below may be the answer for you.

setlocal enabledelayedexpansion

for /l %%i in (1,1,15) do (
set "num=%%i"
if "!num:~0,1!" neq "0" set "num=0!num!"
set "filepath=\\%VARIABLE%svr0001\e$\Users\%VARIABLE%POS00!num!\E2ELOGS\*.dbg"
for /f "delims=" %%a in ('find /c /i "Error   : -2" "!filepath!"') do (
  set "$line=%%a"
  set "$lastchar=!$line:~-1!"
  if !$lastchar! gtr 0 echo %%a >>NO_ACK_ERROR-2.txt
)

Cheers, G

Upvotes: 0

SachaDee
SachaDee

Reputation: 9545

Try like this :

@echo off
setlocal enabledelayedexpansion

for /l %%x in (1,1,15) do (
  set "$number=0%%x"
  for /f "delims=" %%a in ('find /c /i "Error   : -2" "\\%VARIABLE%svr0001\e$\Users\%VARIABLE%POS00!$number:~-2!\E2ELOGS\*.dbg"') do (
     set "$line=%%a"
     set "$lastchar=!$line:~-1!"
     if !$lastchar! gtr 0 echo %%a >>NO_ACK_ERROR-2.txt
))

Upvotes: 1

Related Questions