我在下面写了命令: FTP
open server.com
username
password
cd destination_path\
put \\source_path\test.txt
rename test.txt test_success_%date:~4,2%.%date:~7,2%.%date:~_2%.%time:~0,2%_%time:~3,2%_%time:~6,2%.txt
quit
重命名成功,但名称为test_success_%date:~4,2%.%date:~7,2%.%date:~_2%.%time:~0,2%_%time:~3,2%_%time:~6,2%.txt
不喜欢test_success_20170126_022545.txt
(我想要的)。
请帮助我。提前谢谢。
答案 0 :(得分:0)
试试吧:
rename test.txt
test_success_%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt
我的结果是:test_success_20170126_100649.txt
注意:将它写在一行中,我在这里将它切成两行以获得更好的视图。
答案 1 :(得分:0)
ftp解释器似乎没有处理%的。我经常将ftp命令写入文件,然后运行它。
SET "FTPFILE=%TEMP%\myscript.tmp"
ECHO>"%FTPFILE%" open server.com
ECHO>>"%FTPFILE%" username
ECHO>>"%FTPFILE%" password
ECHO>>"%FTPFILE%" cd destination_path\
ECHO>>"%FTPFILE%" put \\source_path\test.txt
ECHO>>"%FTPFILE%" rename test.txt test_success_%date:~4,2%.%date:~7,2%.%date:~_2%.%time:~0,2%_%time:~3,2%_%time:~6,2%.txt
ECHO>>"%FTPFILE%" quit
ftp -n -s:"%FTPFILE%"
答案 2 :(得分:0)
您展示的代码似乎是ftp
会话,但不是cmd
会话。 %
变量扩展特定于cmd
但不属于ftp
,因此您的代码无效。
我会在ftp
会话中使用固定的临时文件名,稍后在cmd
会话中重命名:
ftp
会话
open server.com
username
password
cd destination_path\
put \\source_path\test.txt
quit
cmd
会话
rename "destination_path\test.txt" "test_success_%date:~4,2%.%date:~7,2%.%date:~-2%.%time:~0,2%_%time:~3,2%_%time:~6,2%.txt"
顺便说一下,有一个错字:你说%date:~_2%
而不是%date:~-2%
......