Batch file ftp.exe可以';找不到属于环境变量值的文件夹
我想使用Windows的标准ftp客户端(我知道它不好,但我需要它是因为特定的原因,我让它正常工作) 要指定下载文件的路径,必须键入Batch file ftp.exe可以';找不到属于环境变量值的文件夹,batch-file,cmd,ftp,Batch File,Cmd,Ftp,我想使用Windows的标准ftp客户端(我知道它不好,但我需要它是因为特定的原因,我让它正常工作) 要指定下载文件的路径,必须键入lcd[path] 这很好,但当我想为文件夹(如%temp%)使用环境变量时,却找不到它们 它只是没有内置到客户机中,还是我做错了什么 日志: ftp>lcd%temp% %临时%:找不到文件 环境变量扩展不能仅仅因为我们想要或期望它就起作用。它必须被设计成一个程序。作为: 仅仅因为你把某些东西粘在百分号之间并不意味着 神奇的百分之十精灵会突袭过来 执行环境变量扩展
lcd[path]
这很好,但当我想为文件夹(如%temp%
)使用环境变量时,却找不到它们
它只是没有内置到客户机中,还是我做错了什么
日志:
ftp>lcd%temp%
%临时%:找不到文件
环境变量扩展不能仅仅因为我们想要或期望它就起作用。它必须被设计成一个程序。作为:
仅仅因为你把某些东西粘在百分号之间并不意味着
神奇的百分之十精灵会突袭过来
执行环境变量扩展
换句话说:ftp.exe
中的lcd
命令必须设计为在其命令行上执行环境变量扩展。它不是这样设计的,这就是为什么您会收到错误消息
如果要使用环境变量更改目录,一种解决方法是在启动ftp.exe
之前,在cmd.exe
提示符下使用命令cd%temp%
(或在PowerShell中设置位置“$Env:temp”
)
评论者就您的问题指出的另一个潜在解决方法是动态创建
ftp.exe
脚本文件。为您要使用的ftp命令创建一个脚本文件,然后让ftp
执行脚本文件。下面是实现@Squashman建议的一种方法。在编写.ftp文件脚本的ECHO
语句中使用所需的所有变量。