gpt4 book ai didi

batch-file - 批处理脚本中的转义字符

转载 作者:行者123 更新时间:2023-12-03 16:42:53 28 4
gpt4 key购买 nike

我有以下脚本可以自动将文件上传到远程服务器。问题是我得到的密码充满了特殊字符,这些字符会终止登录过程。

这里是字符的更改版本:

j7~]%&X

使用普通的 FTP 应用程序时没有问题。我将密码用引号括起来,还尝试使用 ^ 来转义百分比和符号。但是,它不起作用。另外,我无法判断发送的实际密码是什么。

可能出了什么问题,或者我如何在发送密码之前透露密码?

:Source = http://www.howtogeek.com/howto/windows/how-to-automate-ftp-uploads-from-the-windows-command-line/

@echo off
echo user myloginname> ftpcmd.dat
echo mypassword>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %1>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat myserver
del ftpcmd.dat

解决方案

如下所述,我使用“type”命令来查看 ftpcmd.dat 中的实际内容。事实证明,通过大量试验错误和阅读转义字符,您对不同的特殊字符使用不同的转义字符!!!

& 符号使用脱字符号,百分比使用百分比。所以,给定我的密码:

j7~]%&X

生成的密码将是:

j7~]%%^&X

最佳答案

在您的情况下,您可以在删除文件之前简单地键入文件以显示密码。

但最好使用延迟扩展,因为这样特殊字符就失去了它们的“特殊”行为,甚至是插入符号和百分号。

@echo off
setlocal EnableDelayedExpansion
set /p passwd=Enter pwd
echo user myloginname> ftpcmd.dat
echo mypassword>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put !passwd! >> ftpcmd.dat
echo quit>> ftpcmd.dat
type ftpcmd.dat
ftp -n -s:ftpcmd.dat myserver

第二个问题是ftp命令,其中的字符也需要转义。也许(就像 Vicky 写的那样)反斜杠可以工作。您可以使用 for 循环将它放在每个单个字符之前

关于batch-file - 批处理脚本中的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854779/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com