将文件移动到分类编号的“#”桶中。文件夹

时间:2017-09-11 15:47:04

标签: batch-file

我有这些名字的文件 1963.tif 1975.tif 2000.tif 2016.tif

在文件夹名称D:/ Plans中我想将这些文件移动到按日期范围分类的另一个文件夹,例如

D:/ Scans / 1900到1980年 - A. D:/ Scans / 2000到2020年 - B

我希望前两个.tif文件转到A,最后两个转到B. 我找到了一个脚本,它将根据文件的起始编号移动文件,但不会在范围

上移动文件
@ECHO ON

SET Letters=(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)
SET Numbers=(0,1,2,3,4,5,6,7,8,9)
SET SourceDir=D:\Plans
SET DestNumDir=D:\Scans

FOR %%A IN %Letters% DO ECHO Y | MOVE "%SourceDir%\%%~A*.*" "%DestLetterDir%\%%~A\"
FOR %%B IN %Numbers% DO ECHO Y | MOVE "%SourceDir%\%%~B*.*" "%DestNumDir%\%%~B\"
GOTO EOF

2 个答案:

答案 0 :(得分:0)

Get-ChildItem -Path D:\Plans |
  ForEach-Object {
      If ([Int]$_.BaseName -le 1980) { Move-Item $_.FullName -Destination 'D:\1900s\' }
      If ([Int]$_.BaseName -ge 2000) { Move-Item $_.FullName -Destination 'D:\2000s\' }
  }

这可以让你开始你想要的方向,但你的问题不是很清楚。

答案 1 :(得分:0)

试试这个:

public class LocationUpdateJob extends Job {

    public static final String TAG = "LocationUpdateJob";
    private static int jobId = -1;


    public static void schedule() {
        final long INTERVAL = 900000L;
        final long FLEX = 300000L;
        jobId = new JobRequest
                .Builder(LocationUpdateJob.TAG)
                .setPeriodic(INTERVAL, FLEX)
                .setRequiredNetworkType(JobRequest.NetworkType.CONNECTED)
                .build()
                .schedule();
    }


    public static void stop() {
        JobManager
                .instance()
                .cancel(jobId);
    }


    @NonNull
    @Override
    protected Result onRunJob(Params params) {
        updateLocation();
        return Result.SUCCESS;
    }
}