我目前正在尝试学习批处理文件脚本,所以也许我只是没有看到我做错了什么,但我只是制作了一个打开文本文件的非常简单的批处理文件。
以下是我使用的代码:
@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 我使用开始。