批处理文件:将文件移动到相应的每月文件夹

时间:2016-08-17 17:18:46

标签: file batch-file move

我对此进行了相当多的研究 - 虽然网上似乎有一些文档(特别是在Stackoverflow上),但我发现很难理解编程正在做什么 。换句话说,我真的想学习。

我的问题:每天都有六(6)个具有一致命名约定的不同文件进入我的电脑。它们都落在同一个“收到”文件夹中。每个文件都有自己的拥有的子文件夹,每个子文件夹中都有十二(12)个月的文件夹(其中6 x 12 = 72个子文件夹)。我想每天双击我的批处理文件,以便它将每个文件(具有一致的命名约定)指向其各自的文件夹 AND 到相应子文件夹中的正确月份文件夹。我希望它将使用“created on”date属性将每个文件路由到正确的位置。

注*:目录架构如下:登陆文件夹包含六(6)个子文件夹。我的日期/时间格式为:day mm / dd / yyyy 12:00 PM

以下是我到目前为止创建的一些代码,但我被卡住了:

For %%x in ('Receive folder Path') do set datetime=%%~tx

:dissect_date_time
for /f "tokens=1-5 delims=/: " %%a in (1%) do set day=%%a&set month=%%b&set

call :dissect_date_time

:MoProc
if %month% == "01" set asd="Jan"
if %month% == "02" set asd="Feb"
if %month% == "03" set asd="Mar"
if %month% == "04" set asd="Apr"
if %month% == "05" set asd="May"
if %month% == "06" set asd="Jul"
if %month% == "07" set asd="Jul"
if %month% == "08" set asd="Aug"
if %month% == "09" set asd="Sep"
if %month% == "10" set asd="Oct"
if %month% == "11" set asd="Nov"
if %month% == "12" set asd="Dec"

IF EXIST "Landing Directory\*US233*" (
goto :MoProc
move /-y "Landing Directory\*US233*" "Landing Directory\Standard\*%asd%\"
) 

IF EXIST .... next remaining files ...

goto :EOF

在上面的代码中,我只列出了一(1)个可能的候选文件。非常感谢任何人的帮助/想法。

0 个答案:

没有答案