Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Функция сравнения и копирования

Ответить
Настройки темы
CMD/BAT - Функция сравнения и копирования

Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток!

Такая задача:
в папке (допустим folder) имеется файлы (например с расширением .bat & .txt) с одинаковыми именами, необходимо файлы с одинаковыми именами (т.е. 1.txt и 1.bat) перенести в другую папку (допустим folder_to), а те файлы которые, у которых не найдётся "родственной души" остались не тронутыми.

Что было предпринято:
пытался задать две переменные, а вот как их сравнить - я не имею не единого понятия. Может конвеер надо организовать?

*********************************************
@echo off

cd C:\Users\Z\Desktop\test\test1\

set var=
set /p var="Vvod: "

for %%i in (%var%.txt) do (echo %%i)
for %%e in (%var%.bat) do (echo %%e)
:set1

set /p var1="Comand: "
%var1%
goto :set1

pause
*********************************************

Отправлено: 12:04, 27-12-2016

 

Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


alpap, Файл с именем типа aaa (то есть без расширения) переносит, хотя пары ему нет.

Вот мой вариант, работающий быстрее моего предыдущего
Код: Выделить весь код
@Echo Off

Set  "InBox=Z:\Box_In"
Set "OutBox=Z:\Box_Out"

FOR /F "usebackq delims=" %%f IN (`Dir "%InBox%\*.*" /B /A:-D /O:N 2^>nul`) DO (
	If Exist "%InBox%\%%f" Call :FileMove "%InBox%\%%~nf.*"
)
GoTo :Eof

:FileMove
	FOR /F "usebackq skip=1 delims=" %%i IN (`Dir %1 /B /A:-D /O:N 2^>nul`) DO Move /Y %1 "%OutBox%\" >nul &GoTo :Eof

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:45, 28-12-2016 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата megaloman:
то есть без расширения »
да, такое дело есть, естественно, сравнение в find именно по расширению.


megaloman,
склонен считать Ваш последний вариант самым удачным для данной задачи, беру в копилку - Спасибо!

Отправлено: 15:40, 28-12-2016 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Функция сравнения и копирования

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Батник для сравнения файлов orgia Скриптовые языки администрирования Windows 31 02-04-2013 14:01
В Windows 8 появится функция резервного копирования History Vault OSZone News Новости и события Microsoft 5 05-04-2011 16:32
CMD/BAT - [решено] Команда копирования файла с указанием времени копирования Pozia Скриптовые языки администрирования Windows 6 16-10-2010 04:27
Программа для поточечного сравнения изображений ShaRP Программное обеспечение Windows 6 14-02-2008 08:51
Алгоритм сравнения бинарных файлов Savant Программирование и базы данных 2 04-05-2005 09:57




 
Переход