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
Batch file 在命令行批处理文件中使用变量_Batch File_Command Line_Winscp - Fatal编程技术网

Batch file 在命令行批处理文件中使用变量

Batch file 在命令行批处理文件中使用变量,batch-file,command-line,winscp,Batch File,Command Line,Winscp,我在批处理文件中使用以下命令: winscp sitename /command "get /filename.160313.tgz q:\localfolder\" 它使用winscp程序下载文件 我想做的是根据今天的日期自动生成“160313” 我如何用这样的变量替换160313 C:\Users\User>echo %date:/= % Sun 13 03 2016 还是没有空间 set var=%date:/=% 否则可以使用子字符串提取 set var=%date:~-

我在批处理文件中使用以下命令:

winscp sitename /command "get /filename.160313.tgz q:\localfolder\"
它使用winscp程序下载文件

我想做的是根据今天的日期自动生成“160313”

我如何用这样的变量替换
160313

 C:\Users\User>echo %date:/= %
 Sun 13 03 2016
还是没有空间

set var=%date:/=%
否则可以使用子字符串提取

set var=%date:~-4%
今年。请参见
set/?

WinSCP有自己的:

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

echo %YY%%MM%%DD%

winscp sitename /command "get /filename.%YY%%MM%%DD%.tgz q:\localfolder\"

另请参见。

我向您展示了如何获得这一年。使用归纳法解决问题的其余部分。您的快速回复意味着您没有阅读帮助。请看一下:您需要向我们显示您的计算机显示变量
%date%
的格式。请参阅
WinSCP.com /command ... "get /filename.%%TIMESTAMP#YYMMDD%%.tgz q:\localfolder\"