Как мне динамически указать файл в DOS? - PullRequest
0 голосов
/ 02 июня 2010

Я пытаюсь использовать c # в .net для запуска команд DOS для FTP-файла. Технически, он вызывает файл BAT, который вызывает файл CMD, который выполняет код DOS. Это было до файла CMD. Поле CMD будет работать, если я жестко закодирую путь, но мне нужно динамически указать путь к файлу.

BAT-файл ...

ftp.exe -s:%~dp0\mycmdfile.cmd

А в файле cmd ...

open <my ost>
<my user name>
<my pw>
quote site cyl pri=1 sec=1 lrecl=1786 blksize=0 recfm=fb retpd=30
put <here is where I need the dynamic path> + localfilename remotefilename

бросить курить

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Я бы добавил к Захари, что вы можете ссылаться на переменные командной строки внутри bat с% 1,% 2 и т. Д.

Синтаксис

%~dp0 доступен только в Windows 2000 (если я правильно помню). Чтобы обратиться к файлам из другого каталога, просто перейдите в каталог просто cd в этот каталог и затем вызовите команду из него.

0 голосов
/ 02 июня 2010

Вы можете передавать аргументы в пакетные файлы. Если память мне не изменяет, вы передаете их, помещая их после вызова пакетного файла и используя разделители пробелов (например, C: \ mycmd.bat Var1 Var2). Затем вы можете использовать их, чтобы восстановить путь к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...