Новичок здесь,
Попытка убрать головную боль при подаче.
Мне нужен скрипт 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-файлы были перемещены в соответствующую папку на основе первой части имени и "счета-фактуры", но этот код этого не делает. Он перемещает их в папки на основе первых нескольких чисел. Я понятия не имею, что я делаю. Извините, что потратил ваше время ...