这里全新,脚本全新。所以,我正在努力解决这个问题,我知道我不应该这样做。
我有一个批处理文件,目前正在扫描和解压缩zip文件。我要做的就是在顶部为Business Date添加一个输入行,然后在解包中引用它以确保日期正确。这是存在的文件(我添加了用户输入,只是不知道如何引用它):
echo off
:Ask
echo Please enter Business Date (MMDDYYY)
set INPUT=
set /P INPUT=Type input: %=%
c:
cd\502
erase *.prn
7z e "\\svr-dc\ftp site\502\daily\data1.zip"
copy sz*.* sales.xls
copy sc*.* cosales.xls
copy aj*.* money.xls
copy cc*.* count.xls
pause
我想让文件在所有目录中运行,而不是暂停,它们是502到607,并告诉我。中列出的文件名是否与用户相同进入营业日期。然后,通过其余的目录执行相同的操作。一旦确认我想打开.txt文件,其中任何商家日期都不匹配。这有任何意义吗?任何帮助将不胜感激。
非常感谢。
答案 0 :(得分:0)
你提出了几个问题,所以我没有写一个批处理脚本,而是认为我应该将其分解,以解释它将如何回答你的问题:
1-使用%INPUT%
引用您的变量/用户输入
2-如果你总是有502到607,那么你可以使用for循环遍历它们
FOR /L %%G IN (502,1,607) DO echo %%G
3-要检查是否存在与用户输入值相同的文件/文件夹,请使用if EXIST %INPUT%
语句
有很多教程,这里有一个引导您完成batch file scripting
的教程答案 1 :(得分:0)
...
c:
FOR /L %%X in (502,1,607) DO (
cd\%%X
erase *.prn
7z e "\\svr-dc\ftp site\%%X\daily\data1.zip"
copy sz*.* sales.xls
copy sc*.* cosales.xls
copy aj*.* money.xls
copy cc*.* count.xls
)
您可以使用%input%
来访问作为INPUT输入的值,但是您不知道"to make sure the dates are correct."
嗯 - 给出进一步的信息(也许......)
...
c:
FOR /L %%X in (502,1,607) DO (
cd\%%X
erase *.prn
7z e "\\svr-dc\ftp site\%%X\daily\data1.zip"
if exist sz%input%*.prn (
copy sz*.* sales.xls
copy sc*.* cosales.xls
copy aj*.* money.xls
copy cc*.* count.xls
) else (
echo Repoll %%X First>>C:\Users\Boster\Desktop\RePoll.txt
)
)
(
与if
在同一物理线路上发生并且) else (
全部出现在同一物理线路上至关重要。