Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Windows Batch: substring?

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Windows Batch: substring?
From: "radekp@konto.pl" <radekp@konto.pl>
Date: Tue, 02 Apr 2024 22:26:08 +0200
Tue, 2 Apr 2024 21:03:57 +0200, w <uuhkqr$v4p$1$grzegorz@news.chmurka.net>,
"Grzegorz Niemirowski" <grzegorz@grzegorz.net> napisał(-a):

> radekp@konto.pl <radekp@konto.pl> napisał(a):
> > Stosuję to Delayed.
> > Zrobiłem tak:
> > set fn=%%~nF
> > for /F "delims=;" %%F in (list.txt) do (
> >     if %fn% == %today% (
> >    ...
> > )
> > działa.
> > Tylko za chiny nie mogę teraz wyodrębnić fragmentu %fn% tak jak przy:
> > set day=%date:~0,2%
> > Wprowadzenie %fn:~0,9% zamiast %fn% cały czas daje pełny ciąg.
> 
> Samo włączenie opóźnienia rozwiązywania zmiennych to jeszcze nie wszystki. 
> Trzeba jeszcze z niego skorzystać za pomocą wykrzykników.
> @echo off
> SetLocal EnableDelayedExpansion
> 
> for /F "delims=;" %%F in (list.txt) do (
> set fn=%%~nF
> set fn2=!fn:~0,9!
> echo !fn!
> echo !fn2!
> )

I to Ci działa?

Bo mnie:
for /F "delims=;" %%F in (list.txt) do (
    set fn=%%~nF
    echo !fn! 

daje w konsoli:

set fn=2023_05_15 18_20_55
 echo !fn!
 if !fn! == 04_02 (


<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>