标签: batch-file

以完全隐藏的方式运行批处理文件

我正在寻找某种方式来运行一个批处理文件 (.bat),而没有任何对用户可见的内容(没有窗口,没有任务栏名称,等等)。

我不想使用某些程序来做到这一点,我正在寻找更清洁的东西。我找到了一个使用 VBScript的解决方案,但我也不喜欢使用 VBS。

windows command-line batch-file

168
推荐指数
11
解决办法
64万
查看次数

如何在不启动“命令窗口”的情况下运行批处理文件?

在 Windows XP 上,我是否可以通过快捷方式运行批处理(.bat 或 .cmd)文件,而没有“黑窗”?

windows shortcuts command-line batch-file

149
推荐指数
9
解决办法
48万
查看次数

Windows RENAME 命令如何解释通配符?

Windows RENAME (REN) 命令如何解释通配符?

内置的帮助工具没有帮助 - 它根本不解决通配符。

微软的TechNet XP联机帮助也好不了多少。以下是关于通配符的全部内容:

“您可以在任一文件名参数中使用通配符(*?)。如果您在 filename2 中使用通配符,则通配符表示的字符将与 filename1 中的相应字符相同。”

没有太大帮助 - 可以通过多种方式解释该语句。

在某些情况下,我已经成功地在filename2参数中使用通配符,但它一直是反复试验。我无法预测什么有效,什么无效。我经常不得不使用 FOR 循环编写一个小批量脚本来解析每个名称,以便我可以根据需要构建每个新名称。不是很方便。

如果我知道如何处理通配符的规则,那么我认为我可以更有效地使用 RENAME 命令,而不必经常求助于批处理。当然,了解规则也有利于批量开发。

(是的 - 这是我发布成对问题和答案的情况。我厌倦了不知道规则并决定自己进行实验。我想很多其他人可能对我的发现感兴趣)

windows command-line rename batch-file cmd.exe

89
推荐指数
2
解决办法
17万
查看次数

如何从 Startup 文件夹中删除 forkbomb?

我有一台运行 Windows Vista 的较旧的笔记本电脑,大约从 2005 年开始,我在玩弄它。在愚蠢的时刻,我创建了一个批处理文件并将以下代码放入其中:

%0|%0
Run Code Online (Sandbox Code Playgroud)

我运行了这个,我不得不重新启动我的笔记本电脑。但是,我决定继续这个破坏性的路径并将批处理文件放在 Windows 启动文件夹中。现在我无法登录而不破坏我的笔记本电脑。

如何从 Startup 文件夹中删除这个 forkbomb?

windows windows-vista batch batch-file

87
推荐指数
5
解决办法
9608
查看次数

删除文件夹及其子文件夹中的所有文件

我想从文件夹结构中删除所有文件,所以我只剩下一个空文件夹结构。

这可以在批处理或VBScript脚本中实现吗?

我尝试了一个非常基本的批处理命令,但这需要用户允许删除每个文件。这不是一个合适的解决方案,因为有数百个文件,并且随着时间的推移会大量增加。

你能提出什么建议?

windows script powershell vbscript batch-file

82
推荐指数
4
解决办法
31万
查看次数

如何检查系统当前的 NTP 配置?

我需要在某些 Windows 系统上验证当前的 NTP 配置。理想情况下,我希望能够通过命令行执行此操作,而不是在配置屏幕中导航。

(我正在处理几个不同的操作系统版本,并且配置屏幕在不同版本之间往往并不总是位于同一位置。)

我希望找到一个快速、令人难忘的命令,我可以将它打入 CMD 控制台以获得结果。不过,我可以随身携带的批处理文件也可以。

具体来说,我需要以下内容:

  • 显示系统是否配置为从 NTP 服务器接收时间。
  • 显示系统正在从中接收时间的 NTP 服务器。
  • 显示上次同步的时间。
  • 在系统上显示当前时间。

实现这些结果需要什么命令?

寻找与 Windows XP、7、Server 2003 和 Server 2008 交叉兼容的解决方案。

windows command-line date-time ntp batch-file

80
推荐指数
5
解决办法
125万
查看次数

从命令行删除 USB 设备

我正在为 Windows 7 构建一个备份脚本,我希望它执行的最后一个操作是安全地“移除”它正在备份的 USB 驱动器。我的印象是始终将驱动器插入同一个USB 端口将保持相同的 DEV_ID(如果我错了,请纠正我)。使用命令行(或 PowerShell),如何在没有用户输入的情况下告诉 Windows 安全地自动删除硬件?

就像占位符一样,其他可能有办法做到这一点的操作系统也很高兴知道。

windows command-line batch-file

77
推荐指数
4
解决办法
22万
查看次数

如何检查Windows中是否存在目录?

我想将此 Linux/Bash 脚本转换为 Windows shell:

if test -d myDirName; then echo "ok"; else mkdir myDirName; fi
Run Code Online (Sandbox Code Playgroud)

它测试目录是否存在,如果不存在则创建它。

windows-7 command-line batch-file

74
推荐指数
4
解决办法
27万
查看次数

如何防止命令提示符在执行后关闭?

我的问题是在 Windows 中,有些命令行窗口在执行后立即关闭。为了解决这个问题,我希望默认行为是窗口保持打开状态。通常,可以通过我想到的三种方法来避免这种行为:

  1. pause在批处理程序后放一行提示用户在退出前按一个键
  2. net start xycmd.exe(开始 - 运行 - cmd.exe)中运行这些批处理文件或其他命令行操作工具(甚至服务启动、重启等或类似的东西)
  3. cmd /k像这样运行这些程序: cmd /k myprogram.bat

但是还有一些其他情况用户:

  1. 第一次运行程序并且不知道给定的程序将在命令提示符(Windows 命令处理器)中运行,例如从“开始”菜单(或其他地方)运行快捷方式时,或
  2. 发现一直运行 cmd.exe 有点不舒服,并且没有时间/机会到处重写这些命令的代码以在它们之后暂停或避免显式退出。

我读过一篇关于更改cmd.exe显式打开时的默认行为的文章,创建了一个AutoRun 条目并在这些位置操作其内容:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
Run Code Online (Sandbox Code Playgroud)

(自动运行项目是_String values_...)

我把它cmd /d /k作为一个值来试一试,但这根本没有改变上面提到的东西的行为......它只是在显式打开命令行窗口时改变了它的行为(开始-运行- cmd.exe)。

那么它是怎样工作的?你能给我任何解决这个问题的想法吗?

windows command-line batch-file

60
推荐指数
4
解决办法
33万
查看次数

是否可以以管理员身份自动运行批处理文件

我想知道双击批处理文件时是否可以自动以管理员身份打开批处理文件,因为这些命令需要以管理员权限运行。

注意:我已经知道右键单击文件并单击Run As Administrator的解决方案,但这不是自动解决方案。

windows-7 batch-file

60
推荐指数
4
解决办法
37万
查看次数