我有两个网络共享驱动器:我们称之为: DriveA 和 DriveB 。
每天有两个文件在 DriveA 生成,我想将最新文件复制到 DriveB / Folder1 / fileA 和 DriveB / Folder2 / fileB 每天。
任何人都可以请我提供解决方案,我可以根据创建日期复制文件:
我确实提出了一个解决方案,但它会根据"今天的日期"来复制文件。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,b;
cin>>n>>b;
int count = 1;
int ans = n-b;
while((n - count*b)>=0)
{
if(count*(n - count*b)>ans)
ans = count*(n - count*b);
count++;
}
cout<<ans<<endl;
}
return 0;
}
编辑1:
现在我使用以下命令复制2017年7月16日的文件:
SET usernameID=useremail@domain.com
SET usernameDOMAIN=11111111
SET password=pwd@1234
net use "\\111.444.222.777\FOLDER" /USER:%usernameID% %password% /persistent:no
set source=\\222.111.333.444\FOLDER\FOLDER2\Report_
net use "\\DOMAIN\storage\2012-0151_hms_ux\Hadoop\LiveDataLandingZoneDWH" /user:usermail@domain.com pwd@1234 /persistent:no
set dest=\\code1\storage\2012-0151_hms_ux\Hadoop\LiveDataLandingZoneDWH\Input\Report\Report_
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x
set today=%MyDate:~0,4%%MyDate:~4,2%%MyDate:~6,2%
echo %today%
:copy
copy "%source%%today%0700.csv" "%dest%%today%0700.csv"
IF ERRORLEVEL 0 goto disconnect
goto end
pause
:disconnect
goto end
pause
:end
pause
如何动态提供xcopy C:\Users\Desktop\report\ActualHRC_*.csv C:\Users\Downloads /D:07-16-2017
pause
?我的意思是,变量应该从系统中获取/D:m-d-y
,m
和d
。
提前致谢!
答案 0 :(得分:1)
我认为你让事情变得太复杂了。有一个非常简单的解决方案:xcopy /Y/D
。
如果您只需输入xcopy /?
,就可以看到所有选项。对于/D
选项,它说:
复制在指定日期或之后更改的文件。 如果没有给出日期,则仅复制那些文件 来源时间比目的地时间新。
还有robocopy
,它也内置在Windows中,提供更多选项,据称能够使用UNC路径名从网络共享复制到网络共享。 (因此,不需要驱动器映射。)