Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Hi,
Please show me how to print out the below line in batch programming:
perl -e "sleep (rand 30)"
I tried:
set random_sec=perl -e "sleep (rand 30)"
echo %random_sec"and it does not work.
Thanks for helping.
Codelearner

Codelearner,
You need to enclose the random_sec variable with "%".
Like this:
echo %random_sec%
-- kptech

No problems setting the var and echoing here, perhaps you should check the syntax you are using in the Set command..
You have a space before the = in this
echo random_sec = %random_sec%but it's not shown on the output
random_sec=

Here is my code:
set number_of_loop=%1
set /a counter=0rem Number of loop must be enter:
if "%number_of_loop%"=="" (
goto error
):loop
set /a counter+=1
set random_sec=perl -e "sleep (rand 30)"
echo random_sec=%random_sec%
echo Number of loops=%counter%
if "%counter%"=="%number_of_loop%" (
goto end
) else (
goto loop
)
:error
echo Need to enter number of loop
echo Usage: Script_Name number_of_loop
:endResult:
C:\WorkingFolderTemp>set number_of_loop=1C:\WorkingFolderTemp>set /a counter=0
C:\WorkingFolderTemp>rem Number of loop must be enter:
C:\WorkingFolderTemp>if "1" == "" (goto error )
C:\WorkingFolderTemp>set /a counter+=1
C:\WorkingFolderTemp>set random_sec=perl -e "sleep (rand 30)"
C:\WorkingFolderTemp>echo random_sec=perl -e "sleep (rand 30)"
random_sec=perl -e "sleep (rand 30)"C:\WorkingFolderTemp>echo Number of loops=1
Number of loops=1Problem: cannot print out the random second

![]() |
![]() |
![]() |
| Login or Register to Reply | |
| Login | Register |
| Ads by Google |