[CMD/BAT] Необходимо переместить папки из списка.

alexspb

Новый пользователь
Сообщения
2
Симпатии
0
Баллы
1
#1
Здравствуйте!
Имеются папки с названиями 1,2,3,4...1000 и есть список нужных папок в отдельном файле (перечисление через запятую) нужен батник для перемещения только папок из списка или только папок не из списка в другую папку.
Заранее огромное спасибо!
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588
#2
Здравствуйте, @alexspb !
Добро пожаловать на SafeZone.

MoveInclude.cmd
CMD/BATCH:
@echo off
SetLocal EnableExtensions

set srcFolder=c:\temp
set dstFolder=c:\temp2
set list=list.txt

set /p fld= < "%list%"

:do
  for /f "tokens=1* delims=," %%a in ("%fld%") do (
    echo "%srcFolder%\%%~a" =^> "%dstFolder%"
    move "%srcFolder%\%%~a" "%dstFolder%"
    if "%%b" neq "" (set "fld=%%b" & goto do)
  )
pause
MoveExclude.cmd
CMD/BATCH:
@echo off
SetLocal EnableExtensions

set srcFolder=c:\temp
set dstFolder=c:\temp2
set list=list.txt

set /p fld= < "%list%"

:do
  for /f "tokens=1* delims=," %%a in ("%fld%") do (
    set "f.%%~a=1"
    if "%%b" neq "" (set "fld=%%b" & goto do)
  )
for /d %%a in ("%srcFolder%\*") do if not defined f.%%~nxa (
  echo "%%~a" =^> "%dstFolder%"
  move "%%~a" "%dstFolder%"
)
pause
(знаки пробелов в именах папок указывать нельзя)
 
Сверху Снизу