[Solved] Cmd window help

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Message
Author
Ranjit
Posts: 20
Joined: 26 Nov 2015 20:39

[Solved] Cmd window help

#1 Post by Ranjit » 26 Nov 2015 20:59

I want the following :
I want to display a few Instructions and Steps before launching installation of a software by Cmd window. After displaying such Instructions and Steps, I want to start installation of that software.
I explain my need by example.
I create a batch file, which opens Cmd window, describing some 'To Do's' then when I start the installation, my cmd window closes immidiately.
Contents of my example batch file :

Code: Select all

@Echo Off
Color 1E
Echo.
Echo          INSTRUCTIONS AND WARNINGS
Echo         ==> Disconnect Internet now
Echo         ==> Tick Custom Installaion
Echo         ==> After Installation completes
Echo         ==> Restart Internet
Call Setup.Exe
Exit

For this I beg help Sir.
Last edited by Ranjit on 02 Dec 2015 00:04, edited 1 time in total.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: Cmd window help

#2 Post by foxidrive » 26 Nov 2015 21:55

Which part are you having trouble with?

You seem to have the commands in the right order.

Squashman
Expert
Posts: 4486
Joined: 23 Dec 2011 13:59

Re: Cmd window help

#3 Post by Squashman » 26 Nov 2015 23:25

If you want the batch file to exit after you start the executable then use the START command instead of the CALL command.

miskox
Posts: 631
Joined: 28 Jun 2010 03:46

Re: Cmd window help

#4 Post by miskox » 27 Nov 2015 05:55

I think you need a PAUSE command:

Code: Select all

@Echo Off
Color 1E
Echo.
Echo          INSTRUCTIONS AND WARNINGS
Echo         ==> Disconnect Internet now
Echo         ==> Tick Custom Installaion
Echo         ==> After Installation completes
Echo         ==> Restart Internet
PAUSE
Call Setup.Exe
Exit


Maybe this is what you wanted. Or just a delay? Use PING.

Saso

penpen
Expert
Posts: 2009
Joined: 23 Jun 2013 06:15
Location: Germany

Re: Cmd window help

#5 Post by penpen » 27 Nov 2015 07:30

You should also escape the "greater than"-characters ('>'):

Code: Select all

echo ^>


penpen

Ranjit
Posts: 20
Joined: 26 Nov 2015 20:39

Re: Cmd window help

#6 Post by Ranjit » 27 Nov 2015 10:59

The script i displayed in my first post was giving trouble, which i was unable to rectify.
Fortunately, all replies to my post were greatly helped me. I edited them to get right result.
This forum is wonderful but all moderators here are more wonderful.
I reproduce below my final batch file which is working well.

Code: Select all

@Echo Off
Color 1E
Echo.
Echo        CLOSE FOLLOWING PROGRAMS BEFORE LAUNCHING "Syncovery"....
Echo.
Echo =======                     CD Eject Tool
Echo =======                     Free Hdd Led
Echo =======                     Just Manager
Echo =======                     Magnifying Glass
Echo.
Echo =======                     Navigator
Echo =======                     Rainlendar
Echo =======                     SayThe Time
Echo =======                     SyncBack
Echo.
Echo =======                     Syncovery
Echo =======                     USB Safely Remove
Echo =======                     Vista Switcher
Echo =======                     Yahoo Messenger
Echo.
Pause
Start "E:\Program Files\SyncoveryPortable\SyncoveryPortable.Exe"

When I click on my batch file, CMD window appears and displays instructions, wait for confirmation, then the desired software starts. The CMD window closes.
However, being so happy and encouraged with the beauiful help, I have another question, of which I have no idea.
I explain as below:
Can this display of Suggestions and warnings be displayed on a modern WIndows pop up window, instead of on primitive commeand window ?
BTW I have WinXP Sp3 installed.
My once again thanks to all who took pains to guide me.

aGerman
Expert
Posts: 4678
Joined: 22 Jan 2010 18:01
Location: Germany

Re: Cmd window help

#7 Post by aGerman » 27 Nov 2015 13:32

The script i displayed in my first post was giving trouble, which i was unable to rectify.

I'm pretty sure replacing each > with ^> as penpen suggested would have been resolved these problems.

When I click on my batch file, CMD window appears and displays instructions, wait for confirmation, then the desired software starts. The CMD window closes.

Replace the START command with CALL if you want to keep the window open.

Can this display of Suggestions and warnings be displayed on a modern WIndows pop up window, instead of on primitive commeand window ?

For sure. Not without using other languages than batch though.

Regards
aGerman

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: Cmd window help

#8 Post by foxidrive » 27 Nov 2015 21:13

This is one way to do it - the important thing to note is the start command with your executable requires the leading "" characters, and you can type your Window title inside the "" if you want.

Code: Select all

@echo off

for %%a in (
"       CLOSE FOLLOWING PROGRAMS BEFORE LAUNCHING 'Syncovery'...."
" "
"=======>                     CD Eject Tool"
"=======>                     Free Hdd Led"
"=======>                     Just Manager"
"=======>                     Magnifying Glass"
" "
"=======>                     Navigator"
"=======>                     Rainlendar"
"=======>                     SayThe Time"
"=======>                     SyncBack"
" "
"=======>                     Syncovery"
"=======>                     USB Safely Remove"
"=======>                     Vista Switcher"
"=======>                     Yahoo Messenger"
" "
) do call set msg=%%msg%%+VbCrLf+"%%~a"
:set msg

echo msgbox %msg%>"%temp%\msg.vbs"
cscript /nologo "%temp%\msg.vbs"
del "%temp%\msg.vbs"

pause
Start "" "E:\Program Files\SyncoveryPortable\SyncoveryPortable.Exe"

Ranjit
Posts: 20
Joined: 26 Nov 2015 20:39

Re: Cmd window help

#9 Post by Ranjit » 28 Nov 2015 06:19

foxidrive wrote:This is one way to do it - the important thing to note is the start command with your executable requires the leading "" characters, and you can type your Window title inside the "" if you want.

Omg, foxdrive Sir,

I am very delighted because you answered to my exact requirement. This proves, DosTips Forum has galaxy of very intelligent, co-operative and 'hitting bulls eye' experts.
However, as I am advancing in customising my batch file, I come across to another step. Can this script you suggested also contian some kind of button as below :

Confirm that you have closed the following programs :

CD Eject Tool
Free Hdd Led
Just Manager
Magnifying Glass
etc. etc.

Then a toggled confirmation button with o Yes o No
and, when No is selected it asks, when YES selected if installs software.

Quit without installing Syncovery o Continue installing Syncovery o
Sir, many thanks to you in advance.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: Cmd window help

#10 Post by foxidrive » 29 Nov 2015 06:18

This is a snippet from Usenet by Frank P. Westlake in 2010, with a few lines modified.

See if it is the kind of thing you want - and read the remarks in the code and you may be able to figure out how some things can be changed:

Code: Select all

@Echo OFF
set "excl=!"
setlocal enableextensions enabledelayedexpansion

for %%a in (
"       CLOSE FOLLOWING PROGRAMS BEFORE LAUNCHING 'Syncovery'...."
" "
"=======>                     CD Eject Tool"
"=======>                     Free Hdd Led"
"=======>                     Just Manager"
"=======>                     Magnifying Glass"
" "
"=======>                     Navigator"
"=======>                     Rainlendar"
"=======>                     SayThe Time"
"=======>                     SyncBack"
" "
"=======>                     Syncovery"
"=======>                     USB Safely Remove"
"=======>                     Vista Switcher"
"=======>                     Yahoo Messenger"
" "
" Do you wish to continue:"
) do call set msg=%%msg%%+VbCrLf+"%%~a"

Set "MessageBox.Button=YN"
Call :MessageBox %msg:~8%

if "%key%"=="7" echo No clicked
if "%key%"=="6" echo Yes clicked
if "%key%"=="5" echo Ignore clicked
if "%key%"=="4" echo Retry clicked
if "%key%"=="3" echo Abort clicked
if "%key%"=="2" echo Cancel clicked
if "%key%"=="1" echo Ok clicked

if "%key%"=="6" Start "" "E:\Program Files\SyncoveryPortable\SyncoveryPortable.Exe"

pause


Goto :EOF

::MessageBox:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: A VBScript GUI messagebox.
:: The message is either on the commandline or in the variable
:: 'MessageBox.Message'.
:: Other optional variables:
::   MessageBox.Title   The title of the messagebox window. Must be
::                      quoted (i.e. Set MessageBox.Title="Title").
::                      The default is the full path of the script.
::   MessageBox.Button  The value of the button set to display.
::                      The default is the OK button set.
::                        VALUE  BUTTON SET
::                        OK     OK
::                        OKC    OK CANCEL
::                        ARI    ABORT RETRY IGNORE
::                        YNC    YES NO CANCEL
::                        YN     YES NO
::                        RC     RETRY CANCEL
::   MessageBox.Icon    The value of the icon to display.
::                      The default is no icon.
::                        VALUE  ICON
::                        STOP   Critical Message icon.
::                        QUERY  Warning Query icon.
::                        WARN   Warning Message icon.
::                        INFO   Information Message icon.
::   MessageBox.Default The default button if only ENTER is pressed.
::                      The default is button 0 (first).
::   MessageBox.Modal   The modality.
::                        0=Normal, or application modal.
::                        1=System modal.
::
:: After returning ERRORLEVEL contains the value of the button pressed.
:: 1=OK 2=CANCEL 3=ABORT 4=RETRY 5=IGNORE 6=YES 7=NO
::
:: EXAMPLE:
::  Call :MessageBox Message to be displayed.
:: EXAMPLE:
::  Set "MessageBox.Button=OKC"
::  Set "MessageBox.Title="Message Box""
::  Set "MessageBox.Message=The default button is the CANCEL button"
::  Set "MessageBox.Icon=INFO"
::  Set "MessageBox.Default=1"
::  Set "MessageBox.Modal=1"
::  Call :MessageBox
:MessageBox [message]
For /F "delims=\" %%u in ('WhoAmI') Do (
  If /I "%%u"=="nt authority" Goto :EOF
)
Set "ME=%~f0"
Set "MSG=%*"
If "!MSG!" EQU "" Set "MSG=!MessageBox.message!"
Set "TITLE=!MessageBox.title!"
If "!TITLE!" EQU "" Set "TITLE="%ME:~0,1%"+Chr(&H3A)+"%ME:~2%""
If DEFINED MessageBox.Button (
  Set "i=0"
  For %%a in (OK OKC ARI YNC YN RC) Do (
    If /I "!MessageBox.Button!" EQU "%%a" Set "MessageBox.Button=!i!"
    Set /A "i+=1"
  )
)
If DEFINED MessageBox.Icon (
  Set "i=0"
  For %%a in (0 STOP QUERY WARN INFO) Do (
    If /I "!MessageBox.Icon!" EQU "%%a" Set "MessageBox.Icon=!i!"
    Set /A "i+=16"
  )
)
Set /A "BTN=MessageBox.button|MessageBox.icon"
Set /A "BTN|=(MessageBox.Default<<8)|(MessageBox.Modal<<12)"
Set "vbs=%TEMP%\mb.vbs"
Echo.WScript.Quit(MsgBox(%*, !BTN!, !TITLE!))>%vbs%
CSCRIPT /NOLOGO /E:VBS %vbs%
set key=%errorlevel%
Erase "%vbs%"
Goto :EOF

Ranjit
Posts: 20
Joined: 26 Nov 2015 20:39

Re: Cmd window help

#11 Post by Ranjit » 29 Nov 2015 10:50

foxidrive wrote:This is a snippet from Usenet by Frank P. Westlake in 2010, with a few lines modified.

See if it is the kind of thing you want - and read the remarks in the code and you may be able to figure out how some things can be changed:

Code: Select all

@Echo OFF
set "excl=!"
setlocal enableextensions enabledelayedexpansion

for %%a in (
"       CLOSE FOLLOWING PROGRAMS BEFORE LAUNCHING 'Syncovery'...."
" "
"=======>                     CD Eject Tool"
"=======>                     Free Hdd Led"
"=======>                     Just Manager"
"=======>                     Magnifying Glass"
" "
"=======>                     Navigator"
"=======>                     Rainlendar"
"=======>                     SayThe Time"
"=======>                     SyncBack"
" "
"=======>                     Syncovery"
"=======>                     USB Safely Remove"
"=======>                     Vista Switcher"
"=======>                     Yahoo Messenger"
" "
" Do you wish to continue:"
) do call set msg=%%msg%%+VbCrLf+"%%~a"

Set "MessageBox.Button=YN"
Call :MessageBox %msg:~8%

if "%key%"=="7" echo No clicked
if "%key%"=="6" echo Yes clicked
if "%key%"=="5" echo Ignore clicked
if "%key%"=="4" echo Retry clicked
if "%key%"=="3" echo Abort clicked
if "%key%"=="2" echo Cancel clicked
if "%key%"=="1" echo Ok clicked

if "%key%"=="6" Start "" "E:\Program Files\SyncoveryPortable\SyncoveryPortable.Exe"

pause


Goto :EOF

::MessageBox:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: A VBScript GUI messagebox.
:: The message is either on the commandline or in the variable
:: 'MessageBox.Message'.
:: Other optional variables:
::   MessageBox.Title   The title of the messagebox window. Must be
::                      quoted (i.e. Set MessageBox.Title="Title").
::                      The default is the full path of the script.
::   MessageBox.Button  The value of the button set to display.
::                      The default is the OK button set.
::                        VALUE  BUTTON SET
::                        OK     OK
::                        OKC    OK CANCEL
::                        ARI    ABORT RETRY IGNORE
::                        YNC    YES NO CANCEL
::                        YN     YES NO
::                        RC     RETRY CANCEL
::   MessageBox.Icon    The value of the icon to display.
::                      The default is no icon.
::                        VALUE  ICON
::                        STOP   Critical Message icon.
::                        QUERY  Warning Query icon.
::                        WARN   Warning Message icon.
::                        INFO   Information Message icon.
::   MessageBox.Default The default button if only ENTER is pressed.
::                      The default is button 0 (first).
::   MessageBox.Modal   The modality.
::                        0=Normal, or application modal.
::                        1=System modal.
::
:: After returning ERRORLEVEL contains the value of the button pressed.
:: 1=OK 2=CANCEL 3=ABORT 4=RETRY 5=IGNORE 6=YES 7=NO
::
:: EXAMPLE:
::  Call :MessageBox Message to be displayed.
:: EXAMPLE:
::  Set "MessageBox.Button=OKC"
::  Set "MessageBox.Title="Message Box""
::  Set "MessageBox.Message=The default button is the CANCEL button"
::  Set "MessageBox.Icon=INFO"
::  Set "MessageBox.Default=1"
::  Set "MessageBox.Modal=1"
::  Call :MessageBox
:MessageBox [message]
For /F "delims=\" %%u in ('WhoAmI') Do (
  If /I "%%u"=="nt authority" Goto :EOF
)
Set "ME=%~f0"
Set "MSG=%*"
If "!MSG!" EQU "" Set "MSG=!MessageBox.message!"
Set "TITLE=!MessageBox.title!"
If "!TITLE!" EQU "" Set "TITLE="%ME:~0,1%"+Chr(&H3A)+"%ME:~2%""
If DEFINED MessageBox.Button (
  Set "i=0"
  For %%a in (OK OKC ARI YNC YN RC) Do (
    If /I "!MessageBox.Button!" EQU "%%a" Set "MessageBox.Button=!i!"
    Set /A "i+=1"
  )
)
If DEFINED MessageBox.Icon (
  Set "i=0"
  For %%a in (0 STOP QUERY WARN INFO) Do (
    If /I "!MessageBox.Icon!" EQU "%%a" Set "MessageBox.Icon=!i!"
    Set /A "i+=16"
  )
)
Set /A "BTN=MessageBox.button|MessageBox.icon"
Set /A "BTN|=(MessageBox.Default<<8)|(MessageBox.Modal<<12)"
Set "vbs=%TEMP%\mb.vbs"
Echo.WScript.Quit(MsgBox(%*, !BTN!, !TITLE!))>%vbs%
CSCRIPT /NOLOGO /E:VBS %vbs%
set key=%errorlevel%
Erase "%vbs%"
Goto :EOF

foxidrive Sir,
Below is my edited code, which I did myself :

Code: Select all

@Echo Off
Set "excl=!"
SetLocal EnableExtensions EnableDelayedExpansion

For %%a In (
"FOLLOWING PROGRAMS RUNNING   "
" "
"           CCleaner"
"           CD Eject Tool"
"           Free Hdd Led"
"           Just Manager"
"           Magnifying Glass"
" "
"           Navigator"
"           Rainlendar"
"           SayThe Time"
"           SyncBack"
" "
"           Syncovery"
"           USB Safely Remove"
"           Vista Switcher"
"           Yahoo Messenger"
" "
"    DO YOU WISH TO CONTINUE:"
) Do Call Set Msg=%%Msg%%+VbCrLf+"%%~a"

Set MessageBox.Title="Syncovery"
Set "MessageBox.Button=YN"
Call :MessageBox %Msg:~8%

If "%Key%"=="7" Echo No clicked
If "%Key%"=="6" Echo Yes clicked
If "%Key%"=="5" Echo Ignore clicked
If "%Key%"=="4" Echo Retry clicked
If "%Key%"=="3" Echo Abort clicked
If "%Key%"=="2" Echo Cancel clicked
If "%Key%"=="1" Echo Ok clicked

If "%Key%"=="6" Start "" "E:\Program Files\SyncoveryPortable\SyncoveryPortable.Exe"

Goto :EOF

[code]::MessageBox:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: A VBScript GUI messagebox.
:: The message is either on the commandline or in the variable
:: 'MessageBox.Message'.
:: Other optional variables:
::   MessageBox.Title   The title of the messagebox window. Must be
::                      quoted (i.e. Set MessageBox.Title="Title").
::                      The default is the full path of the script.
::   MessageBox.Button  The value of the button set to display.
::                      The default is the OK button set.
::                        VALUE  BUTTON SET
::                        OK     OK
::                        OKC    OK CANCEL
::                        ARI    ABORT RETRY IGNORE
::                        YNC    YES NO CANCEL
::                        YN     YES NO
::                        RC     RETRY CANCEL
::   MessageBox.Icon    The value of the icon to display.
::                      The default is no icon.
::                        VALUE  ICON
::                        STOP   Critical Message icon.
::                        QUERY  Warning Query icon.
::                        WARN   Warning Message icon.
::                        INFO   Information Message icon.
::   MessageBox.Default The default button if only ENTER is pressed.
::                      The default is button 0 (first).
::   MessageBox.Modal   The modality.
::                        0=Normal, or application modal.
::                        1=System modal.
::
:: After returning ERRORLEVEL contains the value of the button pressed.
:: 1=OK 2=CANCEL 3=ABORT 4=RETRY 5=IGNORE 6=YES 7=NO
::
:: EXAMPLE:
::  Call :MessageBox Message to be displayed.
:: EXAMPLE:
::  Set "MessageBox.Button=OKC"
::  Set "MessageBox.Title="Message Box""
::  Set "MessageBox.Message=The default button is the CANCEL button"
::  Set "MessageBox.Icon=INFO"
::  Set "MessageBox.Default=1"
::  Set "MessageBox.Modal=1"
::  Call :MessageBox
:MessageBox [message]
For /F "delims=\" %%u in ('WhoAmI') Do (
  If /I "%%u"=="nt authority" Goto :EOF
)
Set "ME=%~f0"
Set "MSG=%*"
If "!MSG!" EQU "" Set "MSG=!MessageBox.message!"
Set "TITLE=!MessageBox.title!"
If "!TITLE!" EQU "" Set "TITLE="%ME:~0,1%"+Chr(&H3A)+"%ME:~2%""
If DEFINED MessageBox.Button (
  Set "i=0"
  For %%a in (OK OKC ARI YNC YN RC) Do (
    If /I "!MessageBox.Button!" EQU "%%a" Set "MessageBox.Button=!i!"
    Set /A "i+=1"
  )
)
If DEFINED MessageBox.Icon (
  Set "i=0"
  For %%a in (0 STOP QUERY WARN INFO) Do (
    If /I "!MessageBox.Icon!" EQU "%%a" Set "MessageBox.Icon=!i!"
    Set /A "i+=16"
  )
)
Set /A "BTN=MessageBox.button|MessageBox.icon"
Set /A "BTN|=(MessageBox.Default<<8)|(MessageBox.Modal<<12)"
Set "vbs=%TEMP%\mb.vbs"
Echo.WScript.Quit(MsgBox(%*, !BTN!, !TITLE!))>%vbs%
CSCRIPT /NOLOGO /E:VBS %vbs%
set key=%errorlevel%
Erase "%vbs%"
Goto :EOF[/code]


I have tried your code and I wish to update you on a few Sir.
1. In the original code, the CMD window stayed open asking "Press any key to continue....." even after after the application started and closed. I tweaked and removed 'pause', by which the CMD window stayed on but disappeared when new window opened. I wish this DOS window never be dispalyed at all.
2. There is a error message in above window :
'WhoAmI' is not recognized as an internal or external command,
operable program or batch file.


Perhaps these lines in code are effecting :
For /F "delims=\" %%u in ('WhoAmI') Do (
If /I "%%u"=="nt authority" Goto :EOF


I also successfully changed title of wiondow to 'Syncovery' from file path. I also tweaked shape and size of the window Sir.

Otherwise, this code works.

Thank you in advance.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: Cmd window help

#12 Post by foxidrive » 29 Nov 2015 18:32

Ranjit wrote:1. In the original code, the CMD window stayed open asking "Press any key to continue....." even after after the application started and closed. I tweaked and removed 'pause', by which the CMD window stayed on but disappeared when new window opened. I wish this DOS window never be dispalyed at all.


Whenever you use a batch file, the cmd window is present. It's not optional. :)

It can be made to appear briefly, but the exact task needs to be spelled out because the best way to solve the problem depends on the actual task.

See here: viewtopic.php?f=3&t=6108

2. There is a error message in above window :
'WhoAmI' is not recognized as an internal or external command,
operable program or batch file.



What version of Windows are you using?
The whoami command has been standard for some time: https://technet.microsoft.com/en-us/lib ... 71299.aspx
and it is missing in your system, or the PATH variable has been changed and it isn't able to search the system files.

Ranjit
Posts: 20
Joined: 26 Nov 2015 20:39

Re: Cmd window help

#13 Post by Ranjit » 29 Nov 2015 19:54

Sir, this CMD window stays alive until i choose Yes/No and then both windows close. Can you start the DOS window minimised, so that it is not displayed.
I have WinXp Sp3 with latest updats. Sir, I would like to remind you that this 'WhoAmI' appears in the code you have given me.
Thank you Sir.

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: Cmd window help

#14 Post by foxidrive » 30 Nov 2015 07:35

Ranjit wrote:Sir, this CMD window stays alive until i choose Yes/No and then both windows close. Can you start the DOS window minimised, so that it is not displayed.

You can make a shortcut for the batch script and change the properties of that.
I have WinXp Sp3 with latest updats. Sir, I would like to remind you that this 'WhoAmI' appears in the code you have given me.

Yes, whoami is in the code and it doesn't cause an error here. The link I showed you says that it is part of Windows XP too.

if you open a cmd window and type whoami and press enter, does it show the error?
It it displays an error messge, can you type set path into the cmd window and then paste the screen output into a reply?

Ranjit
Posts: 20
Joined: 26 Nov 2015 20:39

Re: Cmd window help

#15 Post by Ranjit » 30 Nov 2015 08:59

foxidrive wrote:
Ranjit wrote:Sir, this CMD window stays alive until i choose Yes/No and then both windows close. Can you start the DOS window minimised, so that it is not displayed.

You can make a shortcut for the batch script and change the properties of that.

Sir, I have already created a shortcut for the batch file and have it on my desktop. I run this application only from that shortcut. I tried to tweak this shortcut but could not find right place to change properties in order to start this CMD window 'minimised'.
http://i.imgur.com/vzE702c.png
I am not expert Sir, therefore please guide me how to do this.
if you open a cmd window and type whoami and press enter, does it show the error?
It it displays an error messge, can you type set path into the cmd window and then paste the screen output into a reply?

Here is screenshot below:
http://i.imgur.com/v2lGA5f.png
Thank you Sir.

Post Reply