batch-file - 如果我有一个批处理文件使用下面的代码调用 txt 文件并且我的预期结果是 MyFile_20200804.zip,我在这里做错了什么
问题描述
echo off
Set Today=%Date:~8,2%%Date:~5,2%%Date:~2,2%
option batch abort
option confirm off
open sftp://Username:Password@HostName -hostkey="my host key"
get MyFile_%Today%.zip "E:\MyFolder\"
预期结果MyFile_20200804.zip
解决方案
我没有安装 WinScp,所以无法测试,但你需要创建一个答案文件,我们称之为它myfile.txt
,但是你需要在文件中创建日期变量,所以我们可以让批处理文件创建文本文件你:
@echo off
for /f "tokens=2 delims=.=" %%i in ('wmic os get localdatetime /value') do set result=%%i
(
echo option batch abort
echo option confirm off
echo open sftp://Username:Password@HostName -hostkey="my host key"
echo get "MyFile_%result:~0,8%.zip" "E:\MyFolder\"
echo exit
)>myfile.txt
winscp.com /ini=nul /script=myfile.txt
您会注意到我使用wmic os get localdatetime
了特定于语言环境的%date%
变量而不是。如果您有不同的区域设置,您的脚本将无法收集文件,%date%
因为有各种可用的日期格式。
推荐阅读
- r - 如何读取满足特定条件的大型数据集的子集?
- python - 我可以用二维数组的 numpy 数组提供深度学习模型吗?
- c++ - 通过回退到 C 的 C++ 类型双关语
- android - 为什么我在 Mac 上的 Android Studio 3.5.1 中出现 Gradle Sync 问题 Host is down
- php - PHP 是否不允许在变量初始化期间将数组类型转换为对象?
- c# - Microsoft DI 容器 _transientDisposables 未处理(内存泄漏)
- c# - 当前上下文中不存在名称“svar”
- c++ - 如何访问`std::variant`的任何孩子的`polymorphic`基类?
- java - 允许用户输入线程数并根据线程数分配添加到每个线程
- python - 我尝试了很多次从 booking.com 获取数据。但我做不到