2015-09-19 2 views
-1

У меня есть файл:Открыть файл с Пакетный файл

myfile.txt 

И в пакетный файл

mybat.bat 

И я хочу, чтобы открыть myfile.txt с mybat.bat.
В mybat.bat, я бы что-то вроде этого:

start "filepath" 

Но, как я могу получить путь к файлу myfile.txt (файл я открыт пакетный файл)?

Edit: Что я имею в виду в этом вопросе является то, что если у вас есть файлы с расширением .exe, например notepad.exe, открывать файлы с, что программа. Мне бы хотелось открыть файл с мой пакетный файл, а в пакетном файле есть код, который что-то делает с открывшимся с ним файлом. Итак, чтобы что-то сделать с открытым файлом с командный файл, я просматриваю путь к файлу открытого файла с мой командный файл.

+0

скопировать и вставить в пути файла из проводника Windows ... как 'начать«C:/путь/к/file/myfile.txt "' –

+0

Это не сработает, если у меня есть файл myfile2.txt, я хочу, чтобы файл ANY, открытый с моим файлом bat, был открыт. (Я не хочу жестко закодированное значение) –

+3

Возможный дубликат [Как передать параметры командной строки в пакетный файл?] (Http://stackoverflow.com/questions/26551/how-to-pass-command- line-parameters-to-a-batch-file) – wOxxOm

ответ

0

При открытии с помощью пакетного файла, путь к файлу и имя обычно передается в качестве первого аргумента, так что вы будете использовать %1 получить путь и имя для его выполнения:

@call %1 
0

вы не» t "open" Textfiles with Batch, вы их читаете.

setlocal enabledelayedexpansion 
rem get filename (given as parameter): 
set filename=%1 
rem read file line by line: 
for /f "delims=" %%a in (%filename%) do (
    set line=%%a 
    rem do something with the line: 
    set line=!line:e=a! 
    rem write (changed) line: 
    echo(!line! 
) 

Позвоните в пакетный файл с именем текстового файла в качестве параметра:

mybatch.bat myfile.txt 
Смежные вопросы