我看过这里Batch file to copy directory if it has a later created date than the target directory
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations
{
[self checkIfNearStore]; //Not being called in background
}
-(void)checkIfNearStore
{
for (Store *currentStore in self.allStores) {
if ([currentStore.circularRegion containsCoordinate:self.locationManager.location.coordinate]&¤tStore.alreadySendNotification==NO) {
NSLog(@"Entered: %@",[[self storeForRegion:currentStore.circularRegion] address]);
currentStore.alreadySendNotification=YES;
[self.storesAlreadySentNotifications addObject:currentStore];
}
}
for (Store *currentStore in self.storesAlreadySentNotifications) {
if (![currentStore.circularRegion containsCoordinate:self.locationManager.location.coordinate]) {
currentStore.alreadySendNotification=NO;
}
}
}
对我不起作用:(以下解释的是我正在使用的代码)
Dos显示&#34; xcopy / e / k&#34; file.bat&#34; &#34;位置&#34;找不到相关文件 - file.bat 0文件已复制&#34; 事情是这个文件不是最新创建的
我尝试过各种代码,但我无法正常工作。
我想要实现的目标:
我喜欢批处理文件,它会按创建日期搜索目录,然后选择最新的创建日期,然后复制到另一个方向,例如在上午08:16创建的文件将被复制,而不是在创建当天上午8:15创建的文件。
如果此批次可以按创建日期,文件类型和文件名中的一串文本进行搜索,那就太棒了。
文件:(日/月/时间格式)
for /f "tokens=*" %%a in ('dir/b /od \\machine\c$\location') do set newest=%%a
xcopy /e /k "%newest%" "\\machine\c$\otherlocation"
popd
pause
然后复制CSV,因为我只想要CSV,底部文件是最新创建的CSV
同时试过这个:
Test01010815.bat created 01/01 08:15
Test01020817.bat created 01/02 08:17
Test01020818.csv created 01/02 08:18
Test01020819.csv created 01/02 08:19
答案 0 :(得分:0)
您已经开始使用映射驱动器z:
,然后将代码更改为留下孤立的popd
并使用网址,现在您正在使用两个...
这应该有效:
set "sourcedir=\\machine\c$\location"
set "destdir=\\el-1311932\c$\batch\export\exe"
for /f "delims=" %%i in ('dir/b /a-d /od "%sourcedir%\*.csv"') do set "LatestModifiedFile=%%~nxi"
xcopy /F /Y "%sourcedir%\%LatestModifiedFile%" "%destdir%\StockExport.csv"