BAT 打开文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BAT 打开文件夹相关的知识,希望对你有一定的参考价值。

用了 start \max "目录"
可是咋又出来个CMD??求解
这个BAT用处就如文件夹的快捷方式
(问下高级别的问题,不答也行,最好答下就当小弟我学习下!如何让这个BAT调用explorer.exe 来实现?比如打开 D:\123空格321\321空格123)

start "" "D:\123空格321\321空格123" 目录路径有空格的,需要用英文双引号括起来。
中间的双引号是表示打开的窗口标题为空(多用在打开其他cmd窗口)
explorer可以直接用,比如explorer d:\123 就是用资源管理器打开d:\123文件夹。
start /min f:\english 最小化打开f:\english文件夹,不会出现新的cmd。
参考技术A start "" "D:\123 321\321 123"追问

那请问那个 “” 是什么意思啊?\?里貌似没有

追答

路径中有空格,加引号,

追问

那么中间那个中间空的 "" 呢?

从 .bat 文件中关闭打开的 cmd 窗口打开应用程序并执行文件

【中文标题】从 .bat 文件中关闭打开的 cmd 窗口打开应用程序并执行文件【英文标题】:Close opened cmd window from .bat file open application and execute file 【发布时间】:2021-07-16 03:49:33 【问题描述】:

我有一个 .bat 文件,它打开一个应用程序,然后执行一个在应用程序内运行作业的文件。我无法关闭任务在 Windows 任务调度程序中运行时打开的 cmd 窗口。

"C:\Proram Files (x86)\ \   \   Robot.exe" execute =f "S:\dept\     Team\   \   YearEndAudit\Main.xaml"

任何帮助将不胜感激。

问候,

杰夫

【问题讨论】:

请提供有关您如何在任务计划程序中运行 .bat 文件的详细信息(例如正在执行的确切命令行)。 也许是这个? start "" "%programfiles(x86)%\restofpath\Robot.exe" execute =f "S:\dept\ Team\rest of path\YearEndAudit\Main.xaml" 好吧,也许你应该检查你的路径…… 【参考方案1】:

我可能误解了你,但我理解的是:

您正在使用 CMD 打开可执行文件,但无法关闭 之后的 CMD。

我很确定这些信息量足以解决您的问题,但无论如何我们的数据很少,而且数据令人困惑。请尝试改进您的下一篇文章。

发生的情况是您可能只是将程序/脚本的名称放在 CMD 中,例如:

program.exe

这会导致程序依赖于 CMD 来运行,并且还会阻止窗口被关闭。可以在一切开头使用"start"来解决这个问题,比如:

start "" "X:\Path\program.exe" execute -f "everythingyouwants"

您可能需要在程序文件夹中,因为某些延迟执行的程序可能会将您的当前位置视为默认位置,并且可能找不到所需的依赖项。 如果您想留在当前所在的文件夹中,可以使用:

pushd "thepath\ofthe\program"
start program.exe
popd

另一种方法是在VBS中隐藏创建脚本的窗口,如:

Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c X:\YOURSCRIPTPATH\YOURSCRIPTNAME.bat/cmd"
oShell.Run strArgs, 0, false

但是,如果路径也需要引号,我们可能会发生冲突。以上内容并不理想,但有时可能会有所帮助。

如果这些都不适合您,请告诉我们。

希望这会有所帮助, K.

【讨论】:

代码整个代码部分set local=%cd% cd "thepath\ofthe\prog...并不理想,可以简单地重写为pushd "thepath\ofthe\prgram\"然后start "" "program.exe"然后popd同样重要的是要注意start "" "program.exe ..更好使用startstart 的方式可能会将第一组双引号解释为标题,因此最好给出一个空标题。 但我保留了其中的一些,因为有些程序认为它们的当前位置是你的,这可能会在执行时产生干扰。 pushd 仍会更改到该位置,popd 返回到最后一个位置。自己尝试一下,只需复制并粘贴到cmd,您就会看到结果。 cd & pushd %programfiles% & cd & popd & cd 但是,如果您正确引用并指定正确的输出/输入路径等,我从来没有遇到过任何干扰问题。它将始终有效。 我不经常使用 popd 或 pushd,我的脚本更通用,需要一个变量用于执行它的位置,因为当前位置 (%cd%) 可能随时消失.无论如何,我认为保持低水平的复杂性很重要,但无论如何我都会补充一点...... 这可能是一个问题,尤其是对于一些旧游戏和脚本,因为它们不希望您从未知的地方调用它们。脚本甚至使用执行位置(例如 X:\ indows\System32)来搜索您的文件。因此,他们可能找不到它。这只是一个警告,他自己正在处理一个 .xaml 脚本,这可能会有所帮助。

以上是关于BAT 打开文件夹的主要内容,如果未能解决你的问题,请参考以下文章

怎样用bat 生成打开文件里的指定程序或打开文件?

每次运行.bat文件都直接打开网页。。。怎么改回去啊?

bat 打开cmd 执行Python文件

BAT 打开文件夹

批处理(bat)批量打开文件夹下的所有PDF文档

如何用bat文件打开另一文件夹下面的bat文件