Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno úprava dávkového souboru

Dobrý den.
Mám dávkový soubor pro zjištění velikosti zadaného souboru uvnitř dávky. Potřeboval bych to modifikovat na tvar, kdy místo %1 pro externí proměnnou tuto proměnnou soubor nastavím uvnitř dávky.
Jinak řečeno, neumím upravit výraz %~z1 na tvar pro proměnnou definovanou uvnitř dávky v SET %soubor% = c:\Windows\System32\COMMAND.COM

@echo off
if not exist %1 echo Zadany soubor %1 nebyl nalezen && goto :eof

if %~z1 EQU 50648 goto :0
echo Soubor ma jinou velikost %~z1 B, nez pozadovanych 50648 B
goto :eof

::
:0
echo Soubor %1 o velikosti %~z1 B byl nalezen

:: DONE

Pomůžete mi s tím někdo?

Vycházím z %~z1 Expands %1 to size of file.
viz http://www.microsoft.com/resources/documentation/w indows/xp/all/proddocs/en-us/percent.mspx?mfr=true

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Pánové, k tomu původnímu zadání by se řešení nenašlo? Já zkoušel různé kombinace a bez výsledku. nový
yorg 23.06.2011 12:15
yorg
vlnovková syntaxe mi nefungovala u proměnných přiřazených přes set, zkoušel jsem všechny dvě možnost… nový
lední brtník 24.06.2011 11:06
lední brtník
Po čase nakouknu do Poradny a je tu funkční odpověď. Chytré, díky. A ty barvičky taky potěšily.:bee… nový
yorg 04.07.2011 16:43
yorg
Jde o to ze si definuju treba: set a1=ahoj set a2=nazdar set a3=hello set a4=sobota set /a var=0 se… poslední
martimb 19.08.2011 19:01
martimb

vlnovková syntaxe mi nefungovala u proměnných přiřazených přes set, zkoušel jsem všechny dvě možnosti co mě napadly.
tvar s %1 takto zpracovat šel. tak jsem použil volání "call :sub", kde se předané parametry oddělené čárkou zas čtou jako %1,%2,...

@echo off
 color 70
 set file=C:\WINDOWS\system32\command.com
 set bytes=51166
 call :SUB %file%,%bytes%
goto END

:SUB
 echo "%~nx1" ma velikost "%~z1"byte, zadani: "%2"byte
 if "%~z1"=="" echo Zadany soubor %1 nebyl nalezen & goto :EOF
 if "%~z1"=="%2" goto JO
:NE
 echo Soubor ma jinou velikost %~z1 B, nez pozadovanych %2 B
 color 40 & goto :EOF
:JO
 echo Soubor %1 o velikosti %~z1 B byl nalezen
 color 20 & goto :EOF

:END

Zpět do poradny Odpovědět na původní otázku Nahoru