ftp.exe无法找到环境变量值为

时间:2018-05-04 22:03:53

标签: batch-file cmd ftp

我想使用Windows'标准的ftp客户端(我知道它很糟糕,但我出于特定的原因需要它,我让它正常工作)

要指定下载文件的路径,您必须输入lcd [PATH]

这很好用但是当我想在%temp%这样的文件夹中使用环境变量时,它无法找到它们。

它只是没有内置于客户端,还是我做错了什么?

日志:

ftp> lcd %temp%
%temp%: File not found

1 个答案:

答案 0 :(得分:0)

环境变量扩展不起作用只是因为我们想要或期望它。它必须被设计成一个程序。正如Raymond Chen has pointed out

  

仅仅因为你在百分号之间粘贴东西并不意味着   神奇的百分号仙女将要进入和   执行环境变量扩展。

换句话说:for i in *.csv; do split -l 600000 "$i"; for j in x*; do mv "$j" chunked/"$j-${i:0:2}"; done; done; 中的lcd命令必须设计为在其命令行上执行环境变量扩展。它不是那样设计的,这就是你收到错误信息的原因。

如果要使用环境变量更改目录,一种解决方法是在ftp.exe提示符(或PowerShell中的cd %temp%)中使用命令cmd.exe,然后再启动{{1 }}

评论者提到的另一个潜在解决方法是动态创建Set-Location "$Env:Temp"脚本文件。