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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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 调用文件时选择周数的Windows批处理脚本_Batch File_Ssis - Fatal编程技术网

Batch file 调用文件时选择周数的Windows批处理脚本

Batch file 调用文件时选择周数的Windows批处理脚本,batch-file,ssis,Batch File,Ssis,我已经考虑在SSIS包中加入一个批处理文件,通过winscp.com将一个文件放入SFTP站点,因此需要在最后编写一个批处理文件,将所需文件放入SFTP站点,我已经编写了下面的过程,但我需要帮助调用类似文件名的文件#(例如,Filename_1,Filename_2…Filename_34)并位于M:\Test\DATA OUT文件夹。我的感觉是在SET v_week=%1之后添加一个if语句(即if[%v_week%]=[]SET v_week=week),但我不确定这会是什么,因为我以前从未

我已经考虑在SSIS包中加入一个批处理文件,通过winscp.com将一个文件放入SFTP站点,因此需要在最后编写一个批处理文件,将所需文件放入SFTP站点,我已经编写了下面的过程,但我需要帮助调用类似文件名的文件#(例如,Filename_1,Filename_2…Filename_34)并位于M:\Test\DATA OUT文件夹。我的感觉是在SET v_week=%1之后添加一个if语句(即if[%v_week%]=[]SET v_week=week),但我不确定这会是什么,因为我以前从未编写过批处理文件

SET v_week=%1
echo option batch continue > SFTP_Filename_Put.txt
echo option confirm off >> SFTP_Filename_Put.txt
echo open target >> SFTP_Filename_Put.txt
echo lcd "M:\Test\DATA OUT" >> SFTP_Filename_Put.txt
echo cd / >> SFTP_Filename_Put.txt
echo put "M:\Test\DATA OUT\Filename_%v_week%.txt" /Filename_%v_week%.txt >> SFTP_Filename_Put.txt
echo exit >> SFTP_Filename_Put.txt
M:\temp\apps\WinSCP\winscp.com/script="M:\Development\SFTPBatchFiles\SFTP_Filename_Put.txt"
del SFTP_Filename_Put.txt

这样,它将自动获取最后创建的
.fyi
文件并获取最后2个字符 并设置
V_week
变量

@echo off&cls
setlocal EnableDelayedExpansion
for %%a in (*.fyi) do set $WeekNb=%%~na
set $WeekNb=%$WeekNb:~-2%

set v_week=%$WeekNB%

echo The Week Number Is : %v_week%

pause

是否要自动获取周数?…基于当前日期?我需要批处理文件来查找文件名_week#。仅供参考,我的SSIS包中有一个名为v_week的变量。此包每周四运行,今天我正好运行第35周;其中第35周开始于2014年03月23日,结束于2014年03月29日,包已处理于2014年04月03日您的代码已经这样做了:
echo put“M:\Test\DATA OUT\Filename\uu%v\u week%.txt”
。对不起,你用不必要的细节分散了我们的注意力,而不是重点。请清楚地解释你的问题:你现在有什么和你想要什么;不要包括与问题无关的细节……你好,萨查迪,可以帮助我理解如何将你的脚本与我的脚本结合起来。因为我试图如果这样做,它将返回v_week作为-2。感谢您的时间和考虑。我的代码是否单独工作?您是否获得了周数?我在末尾放置了一个
暂停
,您可以进行测试。