我如何从批处理文件实际打开程序?它所做的就是使用该文件名打开命令提示符

我如何从批处理文件实际打开程序?它所做的就是使用该文件名打开命令提示符

我目前正在尝试学习批处理文件脚本,所以也许我只是没有看到我做错了什么,但我只是制作了一个打开文本文件的非常简单的批处理文件。

以下是我使用的代码:

@echo off
title Opening a File Lesson
START "C:\Projects\batch\hi.txt"
pause

它不会像应该的那样打开文本文件,而是打开批处理文件命令提示符并显示相应的输出:

按任意键继续 。 。 。

这很好,这就是我想要的,但是它没有打开文本文件,而是打开了另一个命令提示符,文件路径为:C:\Projects\batch\hi.txt 作为标题,并且什么也不做,只是输出我的默认路径:

Microsoft Windows [版本 6.1.7600] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\项目>

有人能告诉我我做错了什么,为什么它不能用默认程序打开吗?我也尝试使用绝对(目标)路径打开其他文件,如 Outlook 和 Visual Studio 2010,它做了同样的事情,所以它不仅仅是文本文件。任何帮助都将不胜感激,我还不习惯脚本语言。

答案1

为了与您当前的示例保持一致,我将添加以下内容:

START "" notepad.exe C:\Projects\batch\hi.txt

因为你真正想做的是开放记事本并传入一个参数,在本例中是文件名。Athom 的解决方案可能也有效,但我突然想到了这个。

如果您想等待记事本关闭后再完成:

START "" /wait notepad.exe C:\Projects\batch\hi.txt

新批处理窗口的标题在引号内,在我的示例中,我不需要标题,因此我将其留空。我认为该START命令需要一个标题,因此它可能是强制性的。

我还建议你完成后学习 powershell,力量真的描述了它的实用性。但我不会说放弃批处理,因为现在有些事情在批处理中更容易。此外,此时 powershell 无法返回负退出代码,这很糟糕,但我离题了。

答案2

.txt 不需要启动命令。

就叫它:

"C:\Projects\batch\hi.txt"

其他格式确实需要开始,例如 csv 我使用开始。

相关内容