College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Automate Command Prompt Window (CMD), Redirect Output to Application [2003/2005]
The following code is a sample of how you can automate the command prompt window. It creates a new process in a thread with "cmd" as the filename (which starts a new command prompt window). A thread was used (although not required) as a preventative measure just in case the CMD window would hang for some reason. If it hangs and it is not started on a thread, then your application would hang as well until the cmd window was closed or killed.
The Process.StartInfo property contains a .RedirectStandardInput and .RedirectStandardOutput property that allows you to redirect the input and output associated with the process. The StandardOutput and StandardInput properties of the Process class are streamreaders and streamwriters, respectively, which you can set in order to send and receive the data.
The code below simply runs a command that is listed in a textbox, and outputs the results into a textbox. The entire project file is included below in the attachments.
EDIT - The original example below has a problem in the threading. See the 2005 example code in post 10 that corrects this issue
VB Code:
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
CMDThread.Start()
End Sub
Private Sub CMDAutomate()
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
StartInfo.FileName = "cmd" 'starts cmd window
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(txtCommand.Text) 'the command you wish to run.....
SW.WriteLine("exit") 'exits command prompt window
txtResults.Text = SR.ReadToEnd 'returns results of the command window
SW.Close()
SR.Close()
End Sub
Last edited by gigemboy; Sep 12th, 2006 at 12:51 PM.
College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Re: Automate Command Prompt Window (CMD), Redirect Output to Application
The below code adds one line, with the "CreateNoWindow" property of the StartInfo object set to "True", this way the command window doesnt open up at all... (Thanks to jmcilhinney)
VB Code:
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
StartInfo.FileName = "cmd" 'starts cmd window
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
StartInfo.CreateNoWindow = True '<---- creates no window, obviously
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(txtCommand.Text) 'the command you wish to run.....
SW.WriteLine("exit") 'exits command prompt window
txtResults.Text = SR.ReadToEnd 'returns results of the command window
College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Re: Automate Command Prompt Window (CMD), Redirect Output to Application
I know its been a while since this post, but I will go ahead and reply with "I do not know of a way to do that" (which probably was assumed since no replies). This code just shows how to automate the prompt on your local machine.
Re: Automate Command Prompt Window (CMD), Redirect Output to Application
Hello,
Can you please help me understand how can I take output without exiting the process. It seems this sample (posted on many sites ) returns the input to the input stream only when the process exits. Is there anyway we can make a communication.
I need to do the following for using a public library:
Send in one command to command prompt based exe.
Read its output from the command prompt.
Without terminating i have to send another command based on previous output and read output again.
I have to do this iteratively.
College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Re: Automate Command Prompt Window (CMD), Redirect Output to Application
Yeah I noticed that a long time ago, just haven't updated the code. Its because in that code it is trying to update a control directly from within the thread, which is a no-no. In 2003 you can get away with it sometimes, but in 2005 you can't. You can try running the code without using a thread, it should still work, but the form will hang until the process is complete. It would need to be changed to do "correct" threading, either using a background worker or manually by invoking a delegate in the thread to update the text. I'll post the updated code when I get around to it
Last edited by gigemboy; Sep 12th, 2006 at 12:16 PM.
College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Re: Automate Command Prompt Window (CMD), Redirect Output to Application
Here is the updated code, with a delegate used to update the text. Tested in 2005 and the code worked fine. There is an attachment of the new 2005 project example at the end of the post as well.
VB Code:
'Form code from sample project
Private Results As String
Private Delegate Sub delUpdate()
Private Finished As New delUpdate(AddressOf UpdateText)
Private Sub UpdateText()
txtResults.Text = Results
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
CMDThread.Start()
End Sub
Private Sub CMDAutomate()
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
StartInfo.FileName = "cmd" 'starts cmd window
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
StartInfo.CreateNoWindow = True 'creates no cmd window
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(txtCommand.Text) 'the command you wish to run.....
SW.WriteLine("exit") 'exits command prompt window
Results = SR.ReadToEnd 'returns results of the command window
SW.Close()
SR.Close()
'invokes Finished delegate, which updates textbox with the results text
Invoke(Finished)
End Sub
Last edited by gigemboy; Sep 12th, 2006 at 12:46 PM.
Hi bud,
I made some more changes or updates..
I made it synchronous to the commands running on the command prompt so theres no delay for it to come on the rich text box.
The command prompt doesnt exit everytime now..
Thats all..
Hope it helps
Take a look..Ive attached it.
Thanks
I changed this a bit, but the main thing wrong was the "results of the command window".
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim CMDThread As New Threading.Thread(AddressOf CMDAutomateThread)
CMDThread.Start()
End Sub
Private Sub CMDAutomateThread()
TextBox1.Text = CMDAutomate("date", "12/31/2099") 'Set textbox to string return
End Sub
Private Function CMDAutomate(ByVal cmdString As String, ByVal cmdString2 As String) As String
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
Dim s As String = ""
StartInfo.FileName = "cmd" 'starts cmd window
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
' StartInfo.CreateNoWindow = True 'creates no cmd window
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(cmdString) 'the commands you wish to run.....
SW.WriteLine(cmdString2)
s = SR.ReadToEnd 'returns results of the command window before exit
SW.WriteLine("exit") 'exits command prompt window
SW.Close()
SR.Close()
Return s
End Function
I changed this a bit, but the main thing wrong was the "results of the command window".
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim CMDThread As New Threading.Thread(AddressOf CMDAutomateThread)
CMDThread.Start()
End Sub
Private Sub CMDAutomateThread()
TextBox1.Text = CMDAutomate("date", "12/31/2099") 'Set textbox to string return
End Sub
Private Function CMDAutomate(ByVal cmdString As String, ByVal cmdString2 As String) As String
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
Dim s As String = ""
StartInfo.FileName = "cmd" 'starts cmd window
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
' StartInfo.CreateNoWindow = True 'creates no cmd window
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(cmdString) 'the commands you wish to run.....
SW.WriteLine(cmdString2)
s = SR.ReadToEnd 'returns results of the command window before exit
SW.WriteLine("exit") 'exits command prompt window
SW.Close()
SR.Close()
Return s
End Function
Thanks for the example!
DO NOT TRY THIS CODE! It will change your system date. Yeah, maybe I'm an idiot for not knowing that "date 12/31/2099" is the command to set your system to the year 2099, but still, just warning people out there.
Yeah maybe you are.
Usually everyone would look at the code to see what it means, and so yeah it's a no-brainer. There are comments throughout it.
I don't appreciate you posting things like:
"DONT TRY TTN'S MALICIOUS CODE".
By all means, everyone can try my/gigemboy's code, with the command you want, in the window.
Duh.
Yeah maybe you are.
Usually everyone would look at the code to see what it means, and so yeah it's a no-brainer. There are comments throughout it.
I don't appreciate you posting things like:
"DONT TRY TTN'S MALICIOUS CODE".
By all means, everyone can try my/gigemboy's code, with the command you want, in the window.
Duh.
Look, I didn't mean to hurt your feelings, but what you posted was not only wrong, but malicious, and you know it. And I'm just trying to do what is right and warn people, like myself that are trying to learn. You didn't comment that line of the code. If you didn't intend for it to be malicious then why not do a "dir c:" instead? I've never heard or ever had to use a date command in dos and just figured it would return something interesting like the number of days until that date or something. Don't get defensive, just do what is right for others and admit the mistake and accept the punishment (which is someone else warning others not to use a bit of code).
No need to take it all personal or anything, and if you want to think that I'm an ignorant idiot, that doesn't know crap about dos commands or vb that is fine with me. It sounds like you have an awesome wealth of knowledge in this area and I'm sure you are way better then me. but.. the fact is:
you posted dangerous code, which did screw up someones system, and others should be warned to not make the same mistake when trying it out.
You could have, and should have simply stated that the command, will adjust your clock.
If anyone intends to use the command window, then they'd be putting in their own command. Your point is completely mute, because everyone knows that.
I did comment that piece in fact.
"'the commands you wish to run..... "
That's not malicious, because you could enter any command you like.
I can't think of one thing that can be maliciously affected, by changing the time anyway. It didn't happen, you can just change the time back. Woopie. No systems were screwed up, as you implied, and lied about.
I hate liars, that try to make a point by testifying false data.
I really wish the moderators would ban counter-productive members like you.
It did screw up someones computer (mine) and took a few hours, after setting the date back to the correct time to repair the damage which included:
Outlook Calender - had to have all appointments reset since they all expired.
VB Express 2005 - All projects would not compile and would use the last compile since the date change.
Trend Micro Client server security agent failed to run until I reinstalled.
As for lying, this code here:
Code:
Private Sub CMDAutomateThread()
TextBox1.Text = CMDAutomate("date", "12/31/2099") 'Set textbox to string return
End Sub
Does not have any comment that states what those commands do.
If you weren't so set on judging your self worth by your reputation on an internet forum you could save a lot of counter production here. It's funny how you get so defensive over this whole thing. You just need to chill and stop caring so much about what others think of you and your knowledge of computers.
I'm not going to check this thread anymore, best of luck to you.
That line sets the textbox contents, to the return value of the function.
It seems you don't know what a function is, otherwise you would have realized where to find this comment within it:
"'the commands you wish to run..... "
Since you didn't wish to run my date command example, then it was your mistake. Almost all examples have a spot, where you put the custom parameter that you want. The place to put this customization was clearly marked, but you probably glanced over it without thinking or understanding.
Re: Automate Command Prompt Window (CMD), Redirect Output to Application
Originally Posted by gigemboy
Here is the updated code, with a delegate used to update the text. Tested in 2005 and the code worked fine. There is an attachment of the new 2005 project example at the end of the post as well.
VB Code:
'Form code from sample project
Private Results As String
Private Delegate Sub delUpdate()
Private Finished As New delUpdate(AddressOf UpdateText)
Private Sub UpdateText()
txtResults.Text = Results
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
CMDThread.Start()
End Sub
Private Sub CMDAutomate()
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
StartInfo.FileName = "cmd" 'starts cmd window
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
StartInfo.CreateNoWindow = True 'creates no cmd window
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(txtCommand.Text) 'the command you wish to run.....
SW.WriteLine("exit") 'exits command prompt window
Results = SR.ReadToEnd 'returns results of the command window
SW.Close()
SR.Close()
'invokes Finished delegate, which updates textbox with the results text
Invoke(Finished)
End Sub
I executed the code provided, with the following command:
gpg --verify "C:\Documents and Settings\Javier\Escritorio\UDP2006\Semestre5\Negocios en Internet\Catalogo de la tienda\comando correcto.txt.asc"
I get the following output in the textbox:
Microsoft Windows XP [Versi¢n 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Javier\Escritorio\UDP2006\Semestre5\Negocios en Internet\2005CMDExample\2005CMDExample\2005CMDExample\bin\Release>gpg --verify "C:\Documents and Settings\Javier\Escritorio\UDP2006\Semestre5\Negocios en Internet\Catalogo de la tienda\comando correcto.txt.asc"
C:\Documents and Settings\Javier\Escritorio\UDP2006\Semestre5\Negocios en Internet\2005CMDExample\2005CMDExample\2005CMDExample\bin\Release>exit
But if I enter the same string, manually, at the cmd console, I get the following (and desired) output:
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Javier>gpg --verify "C:\Documents and Settings\Javier
\Escritorio\UDP2006\Semestre5\Negocios en Internet\Catalogo de la tienda\comando
correcto.txt.asc"
gpg: Firmado el 07/08/08 22:24:37
gpg: usando RSA clave 0xE89F63D4
gpg: Firma correcta de "Faramir_cl <faramir0cl@gmail.com>"
C:\Documents and Settings\Javier>
This last output (the one I get if I enter the command manually) is what I need... how can I get VB to let me do that?
I need to make this work... and I am running out of time...
This is one of the most useful pieces of code I have come across in the Codebank.
A quick question: The code in post #10 always clears the TextBox first, then updates it with the results of the next command. How could this 'clear first' be inhibited, so the TextBox shows continuous output, as a normal cmd would do?
This is one of the most useful pieces of code I have come across in the Codebank.
A quick question: The code in post #10 always clears the TextBox first, then updates it with the results of the next command. How could this 'clear first' be inhibited, so the TextBox shows continuous output, as a normal cmd would do?
Post #10 has an error, because it exits prematurely, before reading the content. Take a quick look at post #14, but run your own command.
Do you want the window not to exit? You don't have to command the exit.
How many commands do you wish to run?
You could append the textbox after each command, by doing something like this:
Private Sub CMDAutomateThread()
txtResults.Text = Results
End Sub
to
Code:
Private Sub UpdateText()
txtResults.AppendText(Results)
txtResults.SelectionStart = txtResults.Text.Length ' this line and the next
txtResults.ScrollToCaret() 'sets the scrollbar to the bottom
End Sub
I also wanted to see the latest data in the textbox, and scroll back to see older data, hence the other two lines of code.
I do not want the cmd window to close, I want it, and 5 others, to stay open. I am adapting this code to open 6 server windows (cmd-like) as part of a GUI for a Virtual World (here is the work-in-progress)
My textboxes should act in the same way as these server (cmd console) windows, i.e. I can see all status messages, and I can enter commands and see the results.
While testing, I will send commands in the way the code in this thread uses, but later I will change it to specific commands behind button clicks, or Menu options.
I am currently working on a way to set a rolling buffer size for the TextBox, so it does not get too big.
Your alternative code in post #14 looks very interesting indeed. I will have a play with that tomorrow.
I am a little bit confused about the purpose of the following line in the code:
SW.Writeline("exit")
What is this line for? The comment says 'exits command prompt window, but does this mean that the cmd window is now closed, or what?
What I need is for the cmd window to remain open at all times, displaying its messages in my TextBox, accepting and executing commands, and displaying the results, until I close the application.
@Rock Vacirca
Remove that line to have the cmd window open.
I want to use this code to make a better console for my cs server.
The cs server can't be run with the DEP (Data Execution Protection), so i have disabled the dep for the file. When i run it from my shortcut on the desktop the server runs fine, starts a cmd-like window. But when i run it via your code, it runs with DEP, can i disable DEP in the .StartInfo or?
But when i change the .filename to the path to the file (hlds.exe)
@Rock Vacirca
Remove that line to have the cmd window open.
I want to use this code to make a better console for my cs server.
The cs server can't be run with the DEP (Data Execution Protection), so i have disabled the dep for the file. When i run it from my shortcut on the desktop the server runs fine, starts a cmd-like window. But when i run it via your code, it runs with DEP, can i disable DEP in the .StartInfo or?
But when i change the .filename to the path to the file (hlds.exe)
To disable DEP, you can use this command in the cmd prompt... or enter in this app and it will load just the same.
Code:
bcdedit.exe /set {current} nx AlwaysOff
You should only need to disable DEP once... so no need to disable every time you load app.... therefor no need to input this into source.
Reboot PC once you've run the above code... your done.
By the way, this is a great thread... nice code, will make good use of it one day.
My application freezes everytime I try to read the output, any ideas?
Code:
Private Function GetChannelStatus(ByVal channelName As String) As String
Dim StartInfo As New System.Diagnostics.ProcessStartInfo("C:\Program Files\IBM\WebSphere MQ\bin\runmqsc.exe")
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False 'required to redirect
StartInfo.CreateNoWindow = True 'creates no cmd window
Dim myprocess = Process.Start(StartInfo)
Dim results = ""
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(String.Format("DISPLAY CHSTATUS({0})", channelName))
System.Windows.Forms.MessageBox.Show("here1")
results = SR.ReadToEnd 'returns results of the command window
System.Windows.Forms.MessageBox.Show("here2")
SW.WriteLine("end")
SW.Close()
SR.Close()
Dim statusExpression As New Regex("(?<=STATUS\()\w+(?=\))")
Return statusExpression.Match(results).Value
End Function
That is the very essence of human beings and our very unique capability to perform complex reasoning and actually use our perception to further our understanding of things. We like to solve problems. -Kleinma
Does your code in post #46 look like my code in #45? No, it doesn't. Therefore, wrong is how it looks. - jmcilhinney
Hey, thank you very much for the code but i am having a problem.
I want to send a CTRL-C event to the DOS app, since it's the only way to
interrupt it.
I tried to send a CTRL-C event using the "ConsoleCtrlEvent" API, with no
success. I tried both :
**** Const CTRL_C_EVENT As Integer = 0
Const CTRL_BREAK_EVENT As Integer = 1
<DllImport("kernel32.dll")> _
Private Shared Function GenerateConsoleCtrlEvent(ByVal dwCtrlEvent As Integer, ByVal dwProcessGroupId As Integer) As Boolean
End Function ****
GenerateConsoleCtrlEvent(ConsoleCtrlEvent.CTRL_C, 0)
and
GenerateConsoleCtrlEvent(ConsoleCtrlEvent.CTRL_C, myprocess.id)
But none of them seems to work.
So if someone can help me, I'd be very grateful.
Thank you in advance !
Old thread however I love the code except for the fact that one part is just not working for me. When I execute this the cmd window sticks and nothing happens till I close the cmd window then it continues. For the life of me I can not figure out how to get past this.
Code:
Private Sub NDS_Start_SIT_Logic()
Dim NDS_Start_SIT_Putty_Command_Value As String = "C:\plink.exe " + Unix_User_Name + "@spongeshrimp.grhq.XXX.com -pw " + Unix_User_Password
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo()
StartInfo.FileName = "cmd.exe"
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
StartInfo.UseShellExecute = False
StartInfo.CreateNoWindow = False 'creates no cmd window
myprocess.StartInfo = StartInfo
myprocess.Start()
Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput
SW.WriteLine(NDS_Start_SIT_Putty_Command_Value)
SW.WriteLine("ps -ef | grep nds")
SW.WriteLine("exit")
Results = SR.ReadToEnd
SW.Close()
SR.Close()
Invoke(NDS_Start_SIT_Updater)
End Sub
The line that it sticks on is the SR.ReadToEnd.
Code:
Results = SR.ReadToEnd
Again like I said the code works but it can not seem to get past the ReadToEnd till you X out of the cmd window.
ok im running vb 10 i tried using the code and it still doesnt work for me it just comes up as blank on the results am i doing something wronge?
Originally Posted by jrgme
I am interested in this as well. Is there updates to the code to work in VB10?
Try this attachment!
Last edited by Nightwalker83; Apr 8th, 2012 at 05:56 AM.
Reason: Fixed attachment!
when you quote a post could you please do it via the "Reply With Quote" button or if it multiple post click the "''+" button then "Reply With Quote" button.
If this thread is finished with please mark it "Resolved" by selecting "Mark thread resolved" from the "Thread tools" drop-down menu. https://get.cryptobrowser.site/30/4111672
Thanks man! I am really new to this stuff (although like many some background in coding). I want to run two commands through the command line. I need to first set the directory to a folder such as c:\HTDP and then call a program and file in that directory so htdp < c:\ngs\htdp\sample.txt. The file will later be set as a variable but this process will remain the same so I would like to hard code it into the background. Any suggestions?
I am later going to write code that manipulates the text file before to a specific format from variables and after to another specific format.
If it displays incorrectly on your computer not matter which version of the project you are using you are most likely doing something wrong.
Which version of VS are you using? Have you modified any of the code from either of the above projects before you attempt to run them? If so which parts of the code do you modify?
when you quote a post could you please do it via the "Reply With Quote" button or if it multiple post click the "''+" button then "Reply With Quote" button.
If this thread is finished with please mark it "Resolved" by selecting "Mark thread resolved" from the "Thread tools" drop-down menu. https://get.cryptobrowser.site/30/4111672
That is the thing, I have not modified anything yet. I compiled it to see how it works and just test it out.
All I did was extract the zip files and launch it in VS 2010. No errors but when I run it nothing happens.
Originally Posted by Nightwalker83
If it displays incorrectly on your computer not matter which version of the project you are using you are most likely doing something wrong.
Which version of VS are you using? Have you modified any of the code from either of the above projects before you attempt to run them? If so which parts of the code do you modify?
Did you follow the example in post #1? That is, type "Dir" to the "txtCommand" textbox and click the "Send" button.
when you quote a post could you please do it via the "Reply With Quote" button or if it multiple post click the "''+" button then "Reply With Quote" button.
If this thread is finished with please mark it "Resolved" by selecting "Mark thread resolved" from the "Thread tools" drop-down menu. https://get.cryptobrowser.site/30/4111672