4

В настоящее время я пытаюсь изучить сценарии пакетного файла, поэтому, возможно, я просто не вижу, что я делаю неправильно, но я просто делаю очень простой пакетный файл, который открывает текстовый файл.

Вот код, который я использую:

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

Вместо того, чтобы открывать текстовый файл, как он должен, все, что он делает, это открывает командную строку Batch File с соответствующим выводом:

Нажмите любую клавишу для продолжения . , ,

Это хорошо, это то, что я хотел, но вместо того, чтобы открывать текстовый файл, он просто открывает ДРУГУЮ командную строку с путем к файлу: C:\Projects\batch\hi.txt в качестве заголовка и абсолютно ничего не делает, кроме вывода моего пути по умолчанию :

Microsoft Windows [Версия 6.1.7600] Copyright (c) 2009 Корпорация Microsoft. Все права защищены.

C:\Projects>

Может кто-нибудь подсказать мне, что я делаю неправильно и почему он не открывается программой по умолчанию? Я попытался открыть другие файлы, такие как Outlook и Visual Studio 2010, используя абсолютный (целевой) путь, и он делает то же самое, поэтому это не просто текстовые файлы. Буду признателен за любую помощь, я пока не привык к языкам сценариев.

2 ответа2

6

Чтобы соответствовать вашему текущему примеру, я бы добавил следующее:

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

потому что вы действительно хотите открыть блокнот и передать параметр, в данном случае это имя файла. Решение Athom также может сработать, но это просто пришло в голову.

Если вы хотите дождаться закрытия блокнота, прежде чем закончить:

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

Заголовок нового окна пакета находится внутри кавычек, в моих примерах заголовок мне не нужен, поэтому я оставляю его пустым. Я думаю, что команда START ожидает, так что это может быть обязательным.

Я также предлагаю изучить powershell, когда вы закончите, слова power и shell действительно описывают его полезность. Я бы не сказал, отказаться от партии, потому что сейчас некоторые вещи просто проще в партии. Также на этом этапе powershell не может возвращать отрицательные коды выхода, которые просто отстой, но я отвлекся.

2

.txt не требует команды запуска.

Просто назовите это:

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

Другие форматы требуют запуска, например, CSV, который я использую start.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .