运行批处理不显示DOS窗口
dos批处理start命令的参数bat脚本运行完毕后自动关闭窗口
Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。
例子说明:view plain copy start "CS" "c:\programmefiles\cs\half-life.exe" "/m" 上面只是一个使用格式的例子,即start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"当然,在你的批处理文件末尾,最好不要忘记加上一行:EXIT。
请问Start命令中的/w参数怎么用?我知道/w的大概意思是不回到提示符转到其它的程序。
我想执行一条命令:即运行完DIR后再执行其它命令START dir cd c:\ /w。
这条命令只能执行到DIR便不再执行下去了,是我的命令写错了吗?另请问在START命令中为什么不能执行内部命令,我的DIR 是做了一条批处理的。
【参考回复】请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。
正确的用法应该是这样:1、建立使用dir命令的批处理如:test.batview plain copy @echo offdir c:\rem ....其它操作exit 2、在另一个批处理中调用该批处理:view plain copy ...start /wait call test.bat... 其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。
批处理写法
基础部分:======================================================================一、基础语法:1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。
可以使用任何文本文件编辑工具创建和修改。
2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。
3.批处理的编程能力远不如C语言等编程语言,也十分不规范。
4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。
5.C:\AUTOEXEC.BAT 是每次系统启动时都会自动运行的,可以将每次启动时都要运行的命令放入该文件中。
6.大小写不敏感(命令符忽略大小写)7.批处理的文件扩展名为 .bat 或 .cmd。
8.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。
二、参数:1) 系统参数%SystemRoot% === C:\WINDOWS (%windir% 同样)%ProgramFiles% === C:\Program Files%USERPROFILE% === C:\Documents and Settings\Administrator (子目录有“桌面”,“开始菜单”,“收藏夹”等)%APPDATA% === C:\Documents and Settings\Administrator\Application Data%TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (%TEM% 同样)%APPDATA% === C:\Documents and Settings\Administrator\Application Data%OS% === Windows_NT (系统)%Path% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的设置) %HOMEDRIVE% === C: (系统盘)%HOMEPATH% === \Documents and Settings\Administrator:: 枚举当前的环境变量setlocal enabledelayedexpansionFOR /F "usebackq delims==" %%i IN (`set`) DO @echo %%i !%%i!2) 传递参数给批处理文件%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。
运行DOS批处理不显示DOS窗口的方法
运行DOS批处理不显示DOS窗口的方法要在运行DOS批处理时隐藏DOS窗口,你可以使用以下方法:1. 使用VBScript编写脚本:创建一个VBScript脚本,命名为`hide.vbs`,并将以下代码复制到脚本中:```vbscriptSet objShell = CreateObject("WScript.Shell")objShell.Run "cmd /c your_batch_file.bat", 0, False```将`your_batch_file.bat`替换为实际的批处理文件名。
然后,双击运行`hide.vbs`脚本,它将以隐藏的方式运行批处理文件。
2.使用第三方工具:有许多第三方工具可用于隐藏DOS窗口并运行批处理文件。
其中一个常用的工具是`nircmd`。
你可以按照以下步骤来使用它:```start /min C:\nircmd\nircmd.exe exec hide"your_batch_file.bat"```将`C:\nircmd\nircmd.exe`替换为你解压`nircmd`的路径,并将`your_batch_file.bat`替换为实际的批处理文件名。
- 将批处理文件保存为扩展名为`.bat`的文件,并双击运行它。
它将以隐藏的方式运行批处理文件。
3.将批处理文件转换为可执行文件:你还可以使用一些软件将批处理文件转换为可执行文件(通常是EXE 或COM文件),这样当你运行它时就不会显示DOS窗口。
以下是一些可用的工具:- Advanced BAT to EXE Converter:这是一个商业软件,提供更多功能和选项来转换批处理文件为可执行文件。
无论使用哪种工具,你都需要按照软件的说明和向导来转换批处理文件为可执行文件。
一旦转换完成,你可以双击运行可执行文件,它将在后台运行批处理文件,而不会显示DOS窗口。
让批处理运行不显示cmd窗口
让批处理运行不显示cmd窗口Set ws = CreateObject("Wscript.Shell")ws.run "cmd /c d:\1\1.bat",vbhide让批处理运行不显示黑的cmd窗口!编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序。
------------------------------------------------------------Set ws = CreateObject("Wscript.Shell")ws.run "cmd /c 批处理程序名",vbhide------------------------------------------------------------将水平线中代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runbat.vbs,即可隐藏运行指定的批处理程序。
这个vbs脚本也可以在其它环境中直接调用。
还有种方法就是用这个Quick Batch File Compiler V2.1.5.0 汉化绿色版bat转exe的软件, 它的幽灵模式可以实现批处理运行不显示黑的cmd窗口!不过他生成的exe是被杀毒杀的.要自己处理!Set ws = CreateObject("Wscript.Shell")ws.run "cmd /c 1.bat",vbhidews.run "cmd /c 2.bat",vbhidews.run "cmd /c 3.bat",vbhideSet ws = CreateObject("Wscript.Shell")for i = 1 to 3ws.run "cmd /c" & i & ".bat",vbhidenextcreateobject("wscript.shell").run "d:\1\1.bat",0。
用批处理启动应用程序
当一个程序启动或退出时,让另一个程序随其启动或退出,使用这种方法往往可以提高工作效率。
比如,为了节约有效的资源,不上网时可退出实时病毒检测程序,上网时又让其随网络连接的打开而自动运行等。
让一个程序随另一程序的启动而自动运行控制来自微软的程序这类程序包括两类:一是随Windows安装的程序,如IE、OE、图画程序、写字板、记事本等;二是来自微软的应用程序如Microsoft Office下的Word、Excel、PowerPoint等。
要控制此类程序的启动,使用批处理文件就行了,与其它程序相比,不需要在批处理中指明绝对路径,下面举例说明。
Windows自带的“写字板”用于处理一般的文本文档已足够了,但它不像Word那样自带内容丰富的符号库,怎样让Windows自带的“字符映射表”(这下面也有很多符号)程序随“写字板”的打开而自动打开呢?步骤1:在硬盘任一位置新建一个目录,专门用于存放要建立的批处理文件。
为方便叙述,设这个目录是d:\bat。
步骤2:查找“字符映射表”的安装位置及启动程序。
在开始菜单下找到“字符映射表”的快捷方式,右击,选择“属性”,打开图1所示的窗口,切换到“快捷方式”选项卡下,注意观察“目标”后的内容:%SystemRoot%\System32\:这指出了它的安装目录,要注意的是两个%之间的内容表示Windows的安装目录,一般是c:\windows。
charmap.exe则表示启动“字符映射表”的可执行程序。
如果有兴趣的话,可试一下在图1中单击“查找目录”,就能直达“字符映射表”程序的安装目录,双击charmap.exe,你就会看到“字符映射表”程序打开。
同理,可查出“写字板”的安装目录及执行程序是C:\Program Files\Windows NT\Accessories\wordpad.exe。
步骤3:创建批处理。
在d:\bat目录下创建一个文本文件,内容只包含以下两行:start wordpadstart charmap写完以上内容后,选择“文件”|“另存为”,注意,选择“另存为”后,必须在“保存类型”下选择“所有文件”,文件名可任意,但扩展名必须是bat,如图2所示。
C#Process执行批处理后如何获取返回值?
C#Process执⾏批处理后如何获取返回值?代码如下p.StartInfo = new System.Diagnostics.ProcessStartInfo(path, pwd);p.Start();其中path是个BAT的路径!我想要得到执⾏后的返回值来判断批处理运⾏期间是否错误?请问如何做呢?批处理程序内容如下:@echo offfor /f "delims=" %%a in (PCList.config) do net use \\%%a\ipc$ /deletefor /f "delims=" %%a in (PCList.config) do net use \\%%a\ipc$ %1 /user:administratorpause// Define the namespaces used by this sample.using System;using System.Text;using System.Globalization;using System.IO;using System.Diagnostics;using System.Threading;using ponentModel;namespace ProcessAsyncStreamSamples{class ProcessNetStreamRedirection{// Define static variables shared by class methods.private static StreamWriter streamError =null;private static String netErrorFile = "";private static StringBuilder netOutput = null;private static bool errorRedirect = false;private static bool errorsWritten = false;public static void RedirectNetCommandStreams(){String netArguments;Process netProcess;// Get the input computer name.Console.WriteLine("Enter the computer name for the net view command:");netArguments = Console.ReadLine().ToUpper(CultureInfo.InvariantCulture);if (String.IsNullOrEmpty(netArguments)){// Default to the help command if there is not an input argument.netArguments = "/?";}// Check if errors should be redirected to a file.errorsWritten = false;Console.WriteLine("Enter a fully qualified path to an error log file");Console.WriteLine(" or just press Enter to write errors to console:");netErrorFile = Console.ReadLine().ToUpper(CultureInfo.InvariantCulture);if (!String.IsNullOrEmpty(netErrorFile)){errorRedirect = true;}// Note that at this point, netArguments and netErrorFile// are set with user input. If the user did not specify// an error file, then errorRedirect is set to false.// Initialize the process and its StartInfo properties.netProcess = new Process();netProcess.StartInfo.FileName = "Net.exe";// Build the net command argument list.netProcess.StartInfo.Arguments = String.Format("view {0}",netArguments);// Set UseShellExecute to false for redirection.eShellExecute = false;// Redirect the standard output of the net command.// This stream is read asynchronously using an event handler.netProcess.StartInfo.RedirectStandardOutput = true;netProcess.OutputDataReceived += new DataReceivedEventHandler(NetOutputDataHandler);netOutput = new StringBuilder();if (errorRedirect){// Redirect the error output of the net command.netProcess.StartInfo.RedirectStandardError = true;netProcess.ErrorDataReceived += new DataReceivedEventHandler(NetErrorDataHandler);}else{// Do not redirect the error output.netProcess.StartInfo.RedirectStandardError = false;}Console.WriteLine("\nStarting process: net {0}",netProcess.StartInfo.Arguments);if (errorRedirect){Console.WriteLine("Errors will be written to the file {0}",netErrorFile);}// Start the process.netProcess.Start();// Start the asynchronous read of the standard output stream.netProcess.BeginOutputReadLine();if (errorRedirect){// Start the asynchronous read of the standard// error stream.netProcess.BeginErrorReadLine();}// Let the net command run, collecting the output.netProcess.WaitForExit();if (streamError != null){// Close the error file.streamError.Close();}else{// Set errorsWritten to false if the stream is not// open. Either there are no errors, or the error// file could not be opened.errorsWritten = false;}if (netOutput.Length > 0){// If the process wrote more than just// white space, write the output to the console.Console.WriteLine("\nPublic network shares from net view:\n{0}\n",netOutput);}if (errorsWritten){// Signal that the error file had something// written to it.String [] errorOutput = File.ReadAllLines(netErrorFile);if (errorOutput.Length > 0){Console.WriteLine("\nThe following error output was appended to {0}.", netErrorFile);foreach (String errLine in errorOutput){Console.WriteLine(" {0}", errLine);}}Console.WriteLine();}netProcess.Close();}private static void NetOutputDataHandler(object sendingProcess,DataReceivedEventArgs outLine){// Collect the net view command output.if (!String.IsNullOrEmpty(outLine.Data)){// Add the text to the collected output.netOutput.Append(Environment.NewLine + " " + outLine.Data);}}private static void NetErrorDataHandler(object sendingProcess,DataReceivedEventArgs errLine){// Write the error text to the file if there is something// to write and an error file has been specified.if (!String.IsNullOrEmpty(errLine.Data)){if (!errorsWritten){if (streamError == null){// Open the file.try{streamError = new StreamWriter(netErrorFile, true);}catch (Exception e){Console.WriteLine("Could not open error file!");Console.WriteLine(e.Message.ToString());}}if (streamError != null){// Write a header to the file if this is the first// call to the error output handler.streamError.WriteLine();streamError.WriteLine(DateTime.Now.ToString());streamError.WriteLine("Net View error output:");}errorsWritten = true;}if (streamError != null){// Write redirected errors to the file.streamError.WriteLine(errLine.Data);streamError.Flush();}}}}}string arg = string.Format(backupFmt, server, user, pwd, database, file);Process p = new Process();p.StartInfo.FileName = "cmd.exe";eShellExecute = false;p.StartInfo.WorkingDirectory = location + @"bin";p.StartInfo.Arguments = arg;p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;p.StartInfo.CreateNoWindow = true;p.StartInfo.RedirectStandardInput = true;p.StartInfo.RedirectStandardOutput = true; p.Start();StreamWriter sw = p.StandardInput;sw.WriteLine(arg);sw.WriteLine(Environment.NewLine);sw.Close();#if DEBUGStreamReader sr = p.StandardOutput;string str = sr.ReadToEnd();if(!string.IsNullOrEmpty(str)){Console.WriteLine("restore file:" + file);Console.WriteLine("message:" + str);}sr.Close();#endifp.WaitForExit();p.Close();在C#中运⾏⼀个命令,并截取输出、输出流的问题,这个问题我以前在Java中实现过,由于在C#中没有遇到过类似的情况,为了避免每次别⼈问都要⼀遍⼀遍演⽰的情况,特地做了⼀个简单的例⼦,实现在WinForm中ping⼀个⽹站,并且将ping的结果显⽰在⼀个⽂本框中。
批处理中的变量set命令详解if命令讲解DOS编程高级技巧
批处理中的变量set命令详解if命令讲解DOS编程高级技巧批处理高级教程精选合编20220331(Window某P)前言本教程主要引用伤脑筋版主的系列文章,同时参考引用[英雄]教程等其他批处理教程,本文将这些文章合并在一起,并适当修改,修改整理也是学习过程,力求深刻而又简单易懂,主要目的是方便自己以后查阅。
本教程很长啊,需要一定的耐心才能看完,能够看完的话,差不多就是批处理高手了,即使不是高手也是熟手了。
如果连续不停的看完本教程而且理解得差不多,估计人也累趴下了。
本教程适合对do有一定基础的人慢慢学习或查阅。
查阅方法:复制目录中的条目,搜索即可。
目录第一章批处理基础第一节常用批处理内部命令简介1、REM和::3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode配置系统设备8、GOTO和:9、FIND10、START11、aoc和ftype12、puhd和popd13、CALL14、hift15、IF16、etlocal与变量延迟第二节常用特殊符号2、%批处理变量引导符3、>重定向符4、>>重定向符5、<、>&、<&重定向符6、|命令管道符7、^转义字符8、&组合命令9、&&组合命令10、||组合命令11、""字符串界定符12、,逗号13、;分号14、()括号15、!感叹号第二章FOR命令详解一、参数/d二、参数/R三、参数/L四、参数/F第三章FOR命令中的变量一、~I-删除任何引号("),扩展%I二、%~fI-将%I扩展到一个完全合格的路径名三、%~dI-仅将%I扩展到一个驱动器号四、%~pI-仅将%I扩展到一个路径五、%~nI-仅将%I扩展到一个文件名六、%~某I-仅将%I扩展到一个文件扩展名七、%~I-扩展的路径只含有短名八、%~aI-将%I扩展到文件的文件属性九、%~tI-将%I扩展到文件的日期/时间十、%~zI-将%I扩展到文件的大小十一、%~$PATH:I第四章批处理中的变量一、系统变量二、自定义变量第五章et命令详解一、用et命令设置自定义变量二、用et命令进行简单计算三、用et命令进行字符串处理1、字符串替换2、字符串截取第六章if命令讲解第四种用法:IF增强的用法一、界面设计二、if…ele…条件语句三、循环语句四、子程序六、用7-ZIP实现命令行压缩和解压功能七、调用VBScript程序八、将批处理转化为可执行文件九、时间延迟十、模拟进度条整理者:龙卷风1、更正了所有的错别字,适当排版,增加条理性。
Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法
Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。
例子说明:start "CS" "c:\programme files\cs\half-life.exe" "/m"上面只是一个使用格式的例子,即 start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"当然,在你的批处理文件末尾,最好不要忘记加上一行: EXIT请问Start命令中的/w参数怎么用?我知道/w的大概意思是不回到提示符转到其它的程序。
我想执行一条命令:即运行完DIR后再执行其它命令START dir cd c:\ /w。
这条命令只能执行到DIR 便不再执行下去了,是我的命令写错了吗?另请问在START命令中为什么不能执行内部命令,我的DIR是做了一条批处理的。
『参考回复』请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。
正确的用法应该是这样:1、建立使用dir命令的批处理如test.bat:@echo offdir c:\rem ....其它操作exit2、在另一个批处理中调用该批处理:...start /wait call test.bat...其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat 已经控制了流程,一定是在call结束后才会继续下一步的操作。
vbs实现无黑框无DOS窗口隐藏批处理运行窗口
vbs实现无黑框无DOS窗口隐藏批处理运行窗口2010-01-13 15:47:31标签:dos vbs可以通过执行vbs脚本来隐藏执行bat:(将以下代码保存为.vbs文件,假设要执行c:\x.bat)createobject("wscript.shell").run "c:\x.bat",0可以使弹出的命令行窗口最小化,请参考如下代码:@echo offmode con cols=15 lines=1if exist "Temp.bat" goto Start>Temp.bat echo start/min "" "%~nx0"^&exitstart/min Temp.bat&exit:Startdel "Temp.bat">nulpause把它放在程序的开头。
启动批处理文件隐藏窗口脚本Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 批处理文件.bat",vbhide 保存文件格式为: *.vbs 例: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 清除系统LJ.bat",vbhidecreateobject("wscript.shell").run "a.bat",0 "0是隐藏运行的意思Option ExplicitDim WshShell, ProSet WshShell = WScript.CreateObject("WScript.Shell")Pro = "D:\Program Files\千千静听\TTPlayer.exe D:\千千静听\默认.ttpl" WshShell.Run Chr(34) & Pro & Chr(34),0支持路径或文件名带空格代码一:====================================================Dim WshSet Wsh = WScript.CreateObject("WScript.Shell")WScript.Sleep(0000)Wsh.Run "sihochina.bat",0,True'其中sihochina.bat即为你要运行的批处理命令,此时英语这个VBS脚本放在同一目录下Set Wsh=NoThingWScript.quit====================================================代码二:====================================================DIM objShellset objShell=wscript.createObject("wscript.shell")iReturn=objShell.Run("cmd.exe /C d:\sihochina.bat", 0, TRUE)'其中d:\sihochina.bat即为你要运行的批处理命令====================================================好多从dos时代走过来的朋友,都感叹于dos功能的强大。
exe、msi、dos、bat等静默运行,后台运行,不弹窗的解决办法
exe、msi、dos、bat等静默运⾏,后台运⾏,不弹窗的解决办法1、exe程序本⾝不想显⽰,在源码开头中加⼊ #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )2、打开其他的exe2.1使⽤WinExec(LPCSTR, UInt)函数其第⼀个参数相当于system函数的参数,第⼆个参数可以设置窗⼝是否显⽰,SW_HIDE这个宏表⽰隐藏窗⼝,例如:WinExec(cmd.c_str(),SW_HIDE);//cmd(string类型)中为我们要调⽤的程序名及其参数,如 “dir *.exe ”但是这个有⼀个问题,这个函数创建完这个进程后就返回了,也就是说它返回后,该进程不⼀定已经结束另外,第⼀个参数不能有空格 2.2 使⽤ShellExecute函数ShellExecute(NULL,"open","calc.exe","","", SW_HIDE);2.3 使⽤ShellExecuteEx函数ShellExecuteEx(SHELLEXECUTEINFO*)函数其参数是⼀个结构体,具体作⽤还是类似于system的参数,使⽤例⼦:SHELLEXECUTEINFO ShExecInfo = {0};ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS; //确保返回hProcess⽤于了解打开的东西的⽣命周期ShExecInfo.hwnd = NULL;ShExecInfo.lpVerb = NULL;ShExecInfo.lpFile = cmd.c_str();//调⽤的程序名ShExecInfo.lpParameters = par.c_str();//调⽤程序的命令⾏参数ShExecInfo.lpDirectory = NULL;ShExecInfo.nShow = SW_HIDE;//窗⼝状态为隐藏ShExecInfo.hInstApp = NULL;ShellExecuteEx(&ShExecInfo);WaitForSingleObject(ShExecInfo.hProcess,INFINITE);//等到该进程结束 ,当然可以不等待。
windows批处理命令教程
2、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys
3、if errorlevel / if not errorlevel 数字 待执行的命令
START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
9.If 命令
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
if {%1}=={} goto noparms
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
如何让bat运行后不关闭DOS
警告
编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。
如果使用/f:on启用了文件和目录名完成,则对于目录名完成,可使用CTRL+D组合键;而对于文件名完成,可使用CTRL+F组合键。要禁用注册表中特定字符的完成,请使用空格值[0×20],因为空格不是有效的控制字符。
HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\CompletionChar\REG_DWORD
Python运行不显示DOS窗口的解决方法
这篇文章主要介绍了pycharm如何导入python文件及解决报错问题本文通过示例截图相结合给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值需要பைடு நூலகம்朋友可以参考下
Python运行不显示 DOS窗口的解决方法
方法1:pythonw xxx.py 方法2:将.py改成.pyw (这个其实就是使用脚本解析程序pythonw.exe) 跟 python.exe 比较起来,pythonw.exe 有以下的不同: 1)执行时不会弹出控制台窗口(也叫 DOS 窗口) 2)所有向原有的 stdout 和 stderr 的输出都无效 3)所有从原有的 stdin 的读取都只会得到 EOF 注:唯独视窗版 Python 有 .pyw 格式。 以上这篇Python运行不显示DOS窗口的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多 多支持。
让bat批处理后台运行,不显示cmd窗口(完全静化)
让bat批处理后台运⾏,不显⽰cmd窗⼝(完全静化)背景:由于我有某云的服务器(win server), 上⾯挂有好⼏个程序, 为了更好的监控他们, 我使⽤了⼀个最笨的⽅法, 就是下⾯的⽅法。
实现:我要监控的程序有三个, 成为ABC吧, 下⾯先把三个程序的监控写好, 我使⽤的是。
main.vbs1 2 3 4Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c A.bat",0ws.run "cmd /c B.bat",0ws.run "cmd /c C.bat",0这是vbs, 作⽤就是在这⾥调⽤运⾏bat时,是进⼊后台运⾏(就是完全不在前台显⽰这⼏个bat的cmd的界⾯) main.bat1 2 3 4 5 6@echo off<nul 3>nul:oneecho%date:~0,10% %time:~0,-3% cheng守护进程正在监控系统... start main.vbsping127.0.0.1 -n 10>nulgoto one留意⼀下就会发现, 这是⼀个死循环, 是的。
因为我并没有打算把vbs扔进计划任务跑, 我是使⽤⼀个bat,每隔10秒执⾏⼀下main.vsb⽂件, ⽽vbs则会去跑那三个监控告警批处理。
第3⾏:显⽰当前系统时间与提⽰信息。
第4⾏:运⾏vbs脚本。
第5⾏:sleep 10秒,这是有点奇怪的写法,使⽤了ping中的功能。
运⾏1跑main.bat按照之前,不使⽤vbs调直接运⾏那⼏个监控bat的时候会连续闪弹cmd窗⼝,现在只会看到⼀个cmd在运⾏,后台运⾏的是那三个bat。
每当检测到有进程挂的时候会第⼀时间发送邮件提醒。
任务栏不显示打开的任务窗口怎么办
任务栏不显示打开的任务窗口怎么办
任务栏不显示打开的任务窗口怎么办
1、同时按下键盘上的Ctrl键+Alt键+delete键打开任务管理器。
2、打开任务管理器后,在进程选项里找到explorer进程,右击explorer进程在打开列表点击结束进程,弹出结束进程提示框点击结束进程。
3、点击任务管理器上方得文件,再点击打开列表里的“运行新任务”。
4、打开新建任务框,在任务框里输入“explorer”,再勾选“以系统管理权限创建此任务”,再点击确认即可。
就解决了任务栏不显示打开的任务窗口的问题。
批处理隐藏自身DOS黑框窗口方法两则.另加最低延时启动
批处理隐藏自身DOS黑框窗口方法两则.另加最低延时启动/c?m=9d78d513d9d437af4f99e3697d16c010*********b a6d7020ba78449e3732b475015e7ac56200773a5d27d1757f2084beb802102311450b 58cb8fc5dabc8866f6fd6286e365ac45613a004b29804678037902db3f40ee7cda061 c8f895c4df2302970c183bdaa3cb0d1d429d29a34f6ffea79a4d1f5c16b0ee&p=8d76 9a428a925fe908e2947f5557&user=baidu&fm=sc&query=%D2%FE%B2%D8%C5%FA%B4 %A6%C0%EDdos%B4%B0%BF%DA&qid=c1cc2b6b02757040&p1=9相信做网吧的朋友如果没有借助软件的话想实现维护通道都会用到bat批处理远程调用.来做维护通道.以下讲解下关于运行批处理有黑框的问题,想去除黑框我知道的有三个方法.第一个:set ws=wscript.createobject("wscript.shell")ws.Run "cmd /c copy \\192.168.0.249\网络游戏\壁纸同步\维护通道.bat C:\ /y",0,1ws.Run "c:\维护通道.bat",0,1wscript.sleep 1000WScript.quit这是通过VBS将远程服务器上的"维护通道.bat"复制到本地C盘.运行后延时一秒退出第二个:@echo offif "%1" neq "Orz" (>"%temp%\tmp.vbs" echo set WshShell =WScript.CreateObject^(^"WScript.Shell^"^)>>"%temp%\tmp.vbs" echo WshShell.Run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" Orz^",0,truestart /d "%temp%" tmp.vbs"exit)::从这里开始,就是你的批处理代码了,DOS黑框一闪而过,转到后台运行了pause::你会在任务管理器看到有一个隐藏窗口的CMD进程优点:这是直接运用批处理来隐藏自身,隐藏窗口速度快缺点:需要在temp文件夹建立一个VBS第三个:@echo offif "%1" == "h" goto beginmshta vbscript:createobject("wscript.shell").run("""%~nx0""h",0)(window.close)&&exit:beginREM这后面写你需要运行的命令!优点:这是直接运用批处理来隐藏自身,不需要在temp文件夹建立一个VBS缺点:隐藏窗口速度慢,感觉会小卡一下本机最低延时批处理维护通道用批处理:boot.bat以下为引用的内容:@echo off:loopping 127.0.0.1 -n 2 & if not exist \\192.168.0.251\2008boot$ goto loop-call \\192.168.0.251\2008boot$\boot.batexitvbs:boot.vbs以下为引用的内容:Set shell = Wscript.createobject("wscript.shell")a = shell.run ("boot.bat",0)vbs的作用是防止启动bat的时候出现黑框批处理会每隔大约2秒检查一次服务器目录\\192.168.0.251\2008boot$ (这个改成你自己的),如果存在就启动,不存在就继续检查,至到存在为止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其它:
你可以在组策略中设置,开始>>运行,输入gpedit.msc,左侧定位到:
“用户配置”》》“管理模板”》》“系统”》》“登陆和注销”,里面的配置项“以隐藏形式运行现用教本”启动就可以了。
这点能加强一点就好了。
回答:
1.用调用批处理,来隐藏批处理程序.
假设 批处理 名为: test.bat
有 1.vbs 代码如下:
set ws=wscript.createobject("wscript.shell")
ws.run "test.bat /start",0
假设 批处理 名为: test.bat
这个不错。。我很喜欢。
不过 我对批处理感兴趣。
vbs 以后再去玩吧。。
这里先学着!
2.用 start /min 来最小化批处理程序.
如:
start /min cmd /k copy b电影.rm d:\
这样只能复制一个电影。
我的是
@echo off
copy G:\VCD\VS_01.wmv d:\电影\
copy G:\VCD\VS_02.wmv d:\电影\
copy G:\VCD\VS_03.wmv d:\电影\
copy G:\VCD\VS_04.wmv d:\电影\
...
exit
这。。。那不是要 每个语句的前面都加 start /min cmd /k 吗?
DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C d:\1.bat", 0, TRUE)
另一问:
批处理后台运行!
因为 我喜欢用批处理。
如果含有其他格式的文件也需要复制,也只需要加一个 for 循环就可以达到目的.
如:
start /min cmd /k for /f "delims=" %%i in ('dir /b g:\vcd\*') do (copy "%%i" d:\电影\)
另一回答:
start /min cmd /k copy /y g:\vcd\*.* d:\moive\ 也可以啊
运行批处理不显示DOS窗口的VBS
运行批处理不显示DOS窗口的VBS,相信很多人要吧?
先编缉一个.bat文件,然后把下面这段代码中的“d:\1.bat”的路径改成你的.bat文件的路径,然后把下面这段代码复制到记事本里,保存为扩展名为“.vbs”的文件,如:“1.vbs”,然后运行这个VBS文件,就等于直接运行1.bat文件且不显示dos窗口了,你可以试试
双击 vbs 隐藏 bat 程序.
2.用 start /min 来最小化批处理程序.
如:
start /min cmd /k copy b电影.rm d:\
并不需要的,如果你的格式十分统一 为 wmv
可以这样写 "start /min cmd /k copy G:\VCD\*.wmv d:\电影\"
最近 我用批处理 复制光盘的电影。。
因为 哪个黑框框 要很久 才消失。。
留在任务栏里。 很麻烦,我手又好动,一不小心就关了等问题!
所以 怎样 让运行批处理后 让其后台运行啊!
满意——我会追的!
问题补充:引用:让我来解决这个问题....
1.用vbs调用批处理,来隐藏批处理程序.