Перемещение файлов из списков по разным папкам
Есть хороший кот, умеет копировать файл в папку с названием самого файла
Код:
@echo off
rem Папка источник
set "in=folder"
rem Список файлов
set "list=1.txt"
rem Каталог назначения
set "out=new folder"
for /f "usebackq delims=" %%i in ("%list%") do (
for %%j in (%%~i) do (
for /f "delims=" %%a in ('dir /a-d /b /s "%in%"') do (
if %%~j==%%~nxa if not exist "%out%\%%~na" md "%out%\%%~na" & COPY "%%~a" "%out%\%%~na"
)))
pause
Помогите научить кота делать больше))
1. Изменить копирование на перемещение или удаление скопированного файла из источника
2. Больше списков и каждому своя папка
Код:
Папка источник
set "in=folder"
Списоки файлов
set "list1=1.txt"
set "list2=2.txt"
set "list3=3.txt"
~ list100=100.txt
Каталог назначения
set "out1=1 new folder"
set "out2=2 new folder"
set "out3=3 new folder"
~ "out100=100 new folder"
Принципиально можно обойтись и одним списком, особо важно именно перемещение файла или его удаление после копирования.
|
Замените «copy» на «move».
Цитата:
Цитата blither
или его удаление после копирования. »
|
Добавьте сразу после команды с «copy», в той же строке:
|
Цитата:
Цитата Iska
Замените «copy» на «move».
|
c move вообще не работает
Цитата:
Цитата Iska
Добавьте сразу после команды с «copy», в той же строке:
|
Работает!!! Спасибо!!!!!!!
Можно организовать еще несколько списков и для каждого списка своя папка назначения?
|
Цитата:
Цитата blither
c move вообще не работает »
|
Попробуйте дополнительно в команде убрать «%%~na» совокупно с заменой «copy» на «move».
Цитата:
Цитата blither
Можно организовать еще несколько списков и для каждого списка своя папка назначения? »
|
Не вижу ни малейшего смысла окромя усложнения кода.
Замените прямое указание:
Код:
set "in=folder"
set "list=1.txt"
set "out=new folder"
на получение параметров:
Код:
set "in=%~1"
set "list=%~2"
set "out=%~3"
(разумеется, правильным будет и добавить проверку полученных аргументов).
Создайте «головной» пакетный файл в виде:
Код:
@echo off
call "MyMoving.cmd" "folder" "1.txt" "1 new folder"
call "MyMoving.cmd" "folder" "2.txt" "2 new folder"
call "MyMoving.cmd" "folder" "3.txt" "3 new folder"
и пользуйте.
|
Время: 16:34.
© OSzone.net 2001-