【发布时间】:2019-01-10 20:27:48
【问题描述】:
这里是新手,
试图解决归档问题。
我需要一个 bat.file 脚本来根据名称的开头和名称中的某个单词移动文件。抱歉,很难解释。这是我的例子....
195-21 Cat ate my shoe
-AP DISBURSEMENTS
-BILLING
-CLIENT PW
195-22 Jump on the Roof
-AP DISBURSEMENTS
-BILLING
-CLIENT PW
1104-03 Dog named Dave
-AP DISBURSEMENTS
-BILLING
-CLIENT PW
1010-146 Water for pond
-AP DISBURSEMENTS
-BILLING
-CLIENT PW
这些都是我想要移动的 .pdf 文件:
195-21 December 2018 Invoice 59641
195-21 Amerson Report Class $84.61
195-22 December 2018 Invoice 57741
195-21 January 2018 Invoice 59131
1104-03 Ciox 18-Jun-16 $346.79
1104-08 St. Augustine 03-May-17 $35.21
1010-146 May 2018 Invoice 56981
因此文件将根据名称的数字部分移动。
195-21 Cat ate my shoe
-AP DISBURSEMENTS
<------195-21 Amerson Report Class $84.61
-BILLING
<---------195-21 December 2018 Invoice 59641
-CLIENT PW
如果文件名中有Invoice 这个词,我需要它转到subfile Billing。如果不是所有其他人都需要转到子文件AP DISBURSEMENTS。
如果该号码的主文件不存在,它可以留在原处。
问题是一些数字比其他数字更多。 195-21 与 1010-146
我也不知道我在做什么。就好像我有这个伟大的计划,但我什至不知道从哪里开始执行它......
感谢您的任何帮助!
我在网上找到并尝试了它。它很整洁,但我不知道我在做什么,这不是我想要的。
@echo off &setlocal
for /f "delims=" %%i in ('dir /b /a-d *.pdf') do (
set "filename1=%%~i"
setlocal enabledelayedexpansion
set "folder1=!filename1:~0,8!"
mkdir "!folder1!" 2>nul
move "!filename1!" "!folder1!" >nul
endlocal
)
我希望根据名称的第一部分和“发票”将 pdf 移动到其相应的文件夹,但此代码不会这样做。它根据前几个数字将它们移动到文件夹中。我不知道我在做什么。很抱歉浪费您的时间...
【问题讨论】:
-
所以只有包含
invoice的文件你想移动到subfile Billing..?是否有任何数字与您的目标相关? -
是的,开头的数字将决定它将进入哪个“主”文件夹。因此,195-55 将进入 195-55 文件夹,如果其中包含单词 invoice,则将进入子文件夹 billing。如果它没有发票一词,它将进入 195-55 子文件夹 -AP Disbursments
标签: batch-file command directory move