批处理代码,执行的时候怎么让它不显示dos窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理代码,执行的时候怎么让它不显示dos窗口相关的知识,希望对你有一定的参考价值。

@echo off
setlocal enabledelayedexpansion
set n=
set p=D:\My Documents\My Pictures
pushd %p%
for /f "tokens=*" %%i in ('dir/b/od *.jpg') do (
set /a n+=1
if !n! leq 4 del "%%i"
)

以上是代码,执行的时候窗口会闪一下消失,如何做到连闪都不闪,完全隐藏。
我不懂代码,请把这段代码和加了隐藏窗口的代码,在完全的写一遍。叫我加个什么代码,我也不懂的怎么加。好像@echo off 这个就是隐藏的。但是怎么还会闪一下呢。隐藏的不彻底啊。

批处理本身不具备隐藏功能,用vbs调用bat(vbs具有隐藏功能);
CreateObject("Wscript.Shell").run "cmd /c ""E:\My Batch\开机切换墙纸.bat""",vbhide
'E:\My Batch\开机切换墙纸.bat换成对应的bat完全路径即可。追问

怎么把我那原来的代码和你的代码整合在一起呢,然后怎么保存成可以执行的程序。

追答

你的目的是为了隐藏cmd窗口啊,如果整合在一起那怎么隐藏窗口(可以整合,但是前面已经说过了,批处理本身不具备隐藏功能)

参考技术A set ws=WScript.CreateObject("WScript.Shell")
ws.Run "e:\bat\task.bat", 0
把e:\bat\task.bat 换成你的那个批处理的绝对路径。
然后保存成 vbs 格式。
参考技术B 在批处理文件的第一行添加“@echo off”即可。

参考技术C @echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
:begin
setlocal enabledelayedexpansion
set n=
set p=D:\My Documents\My Pictures
pushd %p%
for /f "tokens=*" %%i in ('dir/b/od *.jpg') do (
set /a n+=1
if !n! leq 4 del "%%i"
)本回答被提问者采纳

如何关闭LR的副窗口

俩显示器 想一个显示器操作LR修修图 另一个显示器看电视剧。可是一开LR另一个显示器就显示LR的副窗口,让人看不成电视剧。如何关闭LR的副窗口,让它不显示呢?

参考技术A 键盘F11 可以控制开启或者关闭
或者 窗口->副显示窗口->显示 取消勾选

以上是关于批处理代码,执行的时候怎么让它不显示dos窗口的主要内容,如果未能解决你的问题,请参考以下文章

怎样让批处理BAT运行时不显示DOS窗口?

请问怎么才能运行bat批处理文件的时候不显示DOS命令窗口?连闪一下都不要。

批处理bat在开始执行命令时可以不显示DOS窗口吗?

vscode中源代码管理点提交,弹出commit_editmsg的窗口。怎么样让它不弹出?

运行批处理文件怎么不显示DOS命令窗口

怎么样才能在一个dos窗口连续telnet?