Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Windows 无法将命令行参数传递给批处理文件_Windows_Batch File_Ftp_Cmd - Fatal编程技术网

Windows 无法将命令行参数传递给批处理文件

Windows 无法将命令行参数传递给批处理文件,windows,batch-file,ftp,cmd,Windows,Batch File,Ftp,Cmd,我有一个批处理文件,它打开到服务器的FTP连接并将文件放在指定位置 下面是我的ftpConnection.bat文件的外观 open HOST FTP_USER_NAME FTP_USER_PASSWD cd TO_DIR lcd TO_FILE_LOCATION put THE_FILE quit 如果我像这样运行ftp-i-s:ftpConnection.bat,那么在命令提示符下,它工作得很好 我的要求是将主机、用户名和密码作为参数传递 C:\Users\xxx\Desktop>f

我有一个批处理文件,它打开到服务器的FTP连接并将文件放在指定位置

下面是我的
ftpConnection.bat
文件的外观

open HOST
FTP_USER_NAME
FTP_USER_PASSWD
cd TO_DIR
lcd TO_FILE_LOCATION
put THE_FILE
quit
如果我像这样运行ftp-i-s:ftpConnection.bat,那么在命令提示符下,它工作得很好

我的要求是将主机、用户名和密码作为参数传递

C:\Users\xxx\Desktop>ftp -i -s:ftpConnection.bat "HOST" "USER_NAME" "PASSWORD" 
因此,我尝试使用
%1%2和%3
,但这对我不起作用

像这样传递参数

C:\Users\xxx\Desktop>ftp -i -s:ftpConnection.bat "HOST" "USER_NAME" "PASSWORD" 
也尝试了不带引号的操作,但结果相同,显示的是

在运行FTP服务器服务的计算机之间传输文件 (有时称为守护进程)。Ftp可以交互使用

FTP[-v][d][i][n][g][s:filename][a][a][x:sendbuffer][r:recvbuf fer][b:asyncbuffers][w:WindowsSize][host]

遵循并尝试了一些文档,如

他们建议使用set,我像下面一样尝试过,但结果是一样的

有谁能告诉我我做错了什么,或者有谁能指点我如何做到这一点


提前感谢。

根据您的使用情况

set host=%1
set uname=%2
set passwd=%3
open %host%
%username%
%passwd%
如上图所示,您可以通过在两个%var name%之间括起来使用set变量
请根据您的使用情况尝试一下

set host=%1
set uname=%2
set passwd=%3
open %host%
%username%
%passwd%
如上图所示,您可以通过在两个%var name%之间括起来使用set变量
请根据您的使用情况尝试一下

set host=%1
set uname=%2
set passwd=%3
open %host%
%username%
%passwd%
如上图所示,您可以通过在两个%var name%之间括起来使用set变量
请根据您的使用情况尝试一下

set host=%1
set uname=%2
set passwd=%3
open %host%
%username%
%passwd%
如上图所示,您可以通过在两个%var name%之间括起来使用set变量
请试一试

对不起,您使用的是一个文本文件,其中包含
ftp
命令所需的输入和命令。这不是windows批处理文件,无法使用其语法

要将所需数据用作调用中的参数,需要一个批处理文件,该文件将根据传递的参数生成ftp脚本

@echo off
  setlocal enableextensions disabledelayedexpansion

  if "%~3"=="" goto :eof

  set "TO_DIR=......"
  set "TO_FILE_LOCATION=......"
  set "THE_FILE=........"

  > ftpScript (
      echo open %~1
      echo %~2
      echo %~3
      echo cd %TO_DIR%
      echo lcd %TO_FILE_LOCATION%
      echo put %THE_FILE%
      echo quit
  )

  ftp -i -s:ftpScript 
现在,您有了一个批处理文件(我们称之为
doFTP.cmd
),可以作为

doFTP.cmd ftpserver userName pa$$word

命令行中的参数存储在
%1
%2
%3
变量中(
%1
是第一个参数,如果存在,则不带引号),并在批处理文件中使用以生成(将
echo
命令块重定向到
ftpScript
文件)ftp将处理的文本文件。

很抱歉,您使用的文本文件包含
ftp
命令所需的输入和命令。这不是windows批处理文件,无法使用其语法

要将所需数据用作调用中的参数,需要一个批处理文件,该文件将根据传递的参数生成ftp脚本

@echo off
  setlocal enableextensions disabledelayedexpansion

  if "%~3"=="" goto :eof

  set "TO_DIR=......"
  set "TO_FILE_LOCATION=......"
  set "THE_FILE=........"

  > ftpScript (
      echo open %~1
      echo %~2
      echo %~3
      echo cd %TO_DIR%
      echo lcd %TO_FILE_LOCATION%
      echo put %THE_FILE%
      echo quit
  )

  ftp -i -s:ftpScript 
现在,您有了一个批处理文件(我们称之为
doFTP.cmd
),可以作为

doFTP.cmd ftpserver userName pa$$word

命令行中的参数存储在
%1
%2
%3
变量中(
%1
是第一个参数,如果存在,则不带引号),并在批处理文件中使用以生成(将
echo
命令块重定向到
ftpScript
文件)ftp将处理的文本文件。

很抱歉,您使用的文本文件包含
ftp
命令所需的输入和命令。这不是windows批处理文件,无法使用其语法

要将所需数据用作调用中的参数,需要一个批处理文件,该文件将根据传递的参数生成ftp脚本

@echo off
  setlocal enableextensions disabledelayedexpansion

  if "%~3"=="" goto :eof

  set "TO_DIR=......"
  set "TO_FILE_LOCATION=......"
  set "THE_FILE=........"

  > ftpScript (
      echo open %~1
      echo %~2
      echo %~3
      echo cd %TO_DIR%
      echo lcd %TO_FILE_LOCATION%
      echo put %THE_FILE%
      echo quit
  )

  ftp -i -s:ftpScript 
现在,您有了一个批处理文件(我们称之为
doFTP.cmd
),可以作为

doFTP.cmd ftpserver userName pa$$word

命令行中的参数存储在
%1
%2
%3
变量中(
%1
是第一个参数,如果存在,则不带引号),并在批处理文件中使用以生成(将
echo
命令块重定向到
ftpScript
文件)ftp将处理的文本文件。

很抱歉,您使用的文本文件包含
ftp
命令所需的输入和命令。这不是windows批处理文件,无法使用其语法

要将所需数据用作调用中的参数,需要一个批处理文件,该文件将根据传递的参数生成ftp脚本

@echo off
  setlocal enableextensions disabledelayedexpansion

  if "%~3"=="" goto :eof

  set "TO_DIR=......"
  set "TO_FILE_LOCATION=......"
  set "THE_FILE=........"

  > ftpScript (
      echo open %~1
      echo %~2
      echo %~3
      echo cd %TO_DIR%
      echo lcd %TO_FILE_LOCATION%
      echo put %THE_FILE%
      echo quit
  )

  ftp -i -s:ftpScript 
现在,您有了一个批处理文件(我们称之为
doFTP.cmd
),可以作为

doFTP.cmd ftpserver userName pa$$word

命令行中的参数存储在
%1
%2
%3
变量中(
%1
是第一个参数,如果存在,则不带引号),并在批处理文件中使用以生成(将
echo
命令块重定向到
ftpScript
文件)ftp将处理的文本文件。

按照上面的建议尝试,但没有区别。按照上面的建议尝试,但没有区别。按照上面的建议尝试,但没有区别。按照上面的建议尝试,但没有区别。