Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在DOS中动态指定文件?_C#_Ftp_Dos - Fatal编程技术网

C# 如何在DOS中动态指定文件?

C# 如何在DOS中动态指定文件?,c#,ftp,dos,C#,Ftp,Dos,我正在尝试使用.net中的c#来运行dos命令来ftp文件。从技术上讲,它调用一个BAT文件,该文件调用一个执行DOS代码的CMD文件。这取决于CMD文件。如果我硬编码路径,CMD fiel将起作用,但我需要动态指定文件的路径 BAT文件 ftp.exe -s:%~dp0\mycmdfile.cmd 在cmd文件中 open <my ost> <my user name> <my pw> quote site cyl pri=1 sec=1 lrecl=17

我正在尝试使用.net中的c#来运行dos命令来ftp文件。从技术上讲,它调用一个BAT文件,该文件调用一个执行DOS代码的CMD文件。这取决于CMD文件。如果我硬编码路径,CMD fiel将起作用,但我需要动态指定文件的路径

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
打开
报价站点周期优先级=1秒=1LRECL=1786 blksize=0 recfm=fb retpd=30
put+localfilename-remotefilename

退出

您可以将参数传递给批处理文件。如果内存没有问题,可以通过将它们放在批处理文件调用之后并使用空格分隔符(例如C:\mycmd.bat Var1 Var2)来传递它们。然后,您可以使用这些变量来重建文件路径。

我将添加到Zachary中,您可以使用%1、%2等引用bat中的命令行变量

%~dp0
语法仅在Windows 2000中可用(如果我没记错的话)。若要引用另一个目录中的文件,只需将目录更改为该目录的
cd
,然后从该目录调用命令