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

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

Ответить
Настройки темы
CMD/BAT - [решено] Автозамена при перемещении

Аватара для Tosyk

Старожил


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

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


У меня есть много одинаковых (по имени - Material3) папок в различных под папках, очень много, в эти папках находятся *.mat файлы, среди *.mat файлов попадаются одинаковые

скриптом:

Код: Выделить весь код
for /f "tokens=*" %%b in ('dir /b /s Material3') do move /y "%%b" "%%~dpb../.."
перемещаю все эти папки в одно место, т.о. все папки должны слиться в одну, а все файлы *.mat переместиться в эту папку с заменой соответсвенно, но несмотря на использование ключа /y (пробовал и /Y) скрипт постоянно спрашивает о замене, как сделать автозамену в скрипте?

Отправлено: 09:16, 15-01-2011

 

Googler


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

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


Tosyk, если переносятся ВСЕ подпапки со 2-го уровня, тогда какая разница как они называются - Material3 или еще как?.. или их надо фильтровать по имени на стадии переноса?..
Цитата Tosyk:
<root>\script.bat »
Т.е. можно считать, что папкой назначения будет каталог с батником?

Отправлено: 11:12, 26-01-2011 | #41



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

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


Аватара для Tosyk

Старожил


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

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


Цитата amel27:
Т.е. можно считать, что папкой назначения будет каталог с батником? »
да так и есть!

Цитата amel27:
Tosyk, если переносятся ВСЕ подпапки со 2-го уровня, тогда какая разница как они называются - Material3 или еще как?.. или их надо фильтровать по имени на стадии переноса?.. »
надо по сути все папки, допустим Material3 слить в одну, не важно где последняя будет находится, но удобнее всего в корне со скриптом

Отправлено: 11:17, 26-01-2011 | #42


Googler


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

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


Цитата Tosyk:
по-поводу скрипта проверяющего размер »
как-то так:
Код: Выделить весь код
@echo off
set root=.\_export_
if not exist "%root%" echo Can't find root folder!& pause>nul& exit

SETLOCAL EnableDelayedExpansion
for %%a in ("%root%") do set "rpth=%%~fa"

<nul set/p $="Scanning and preparing folders..."
(for /d %%a in ("%rpth%") do for /d %%b in ("%%~a\*") do for /d %%c in ("%%~b\*") do (
xcopy /q/t "%%~c\*" ".\%%~nc\">nul
echo "%%~c"))>"%~dpn0.$~1"
echo OK& <nul set/p $="Scanning files for moving..."
(for /f "usebackq delims=" %%a in ("%~dpn0.$~1") do (
for /f "delims=" %%b in ('dir/b/s/a-d "%%~a\*"2^>nul') do (set "$b=%%b"
echo "!$b:%%~a=%~dp0%%~na!"?"%%~zb"?"!$b!"
)))>"%~dpn0.$~2"
echo OK& <nul set/p $="Sorting file list..."
sort /l "C" "%~dpn0.$~2" /o "%~dpn0.$~3"
echo OK& <nul set/p $="Processing file list..."
set "$a="& set "$b="& set/a "$n1=0,$n2=0,$n3=0"
for /f "usebackq tokens=1-3 delims=?" %%a in ("%~dpn0.$~3") do (
 if not "!$a!"=="%%~a" (
   move "%%~c" "%%~a"
   set "$a=%%~a"& set "$b=%%~b"& set/a "$k=0,$n1+=1"
 ) else if not "!$b!"=="%%~b" (
   set/a "$k+=1,$n2+=1"& set "$k=000!$k!"& set "$b=%%~b"
   move "%%~c" "%%~dpna_!$k:~-4!%%~xa"
   ) else set/a $n3+=1
)
echo OK& <nul set/p $="Deleting source folder..."
set/a "$n0=$n1+$n2+$n3"& rd /s/q "%rpth%"
echo OK& echo(& echo Processed files all: !$n0!, including:& echo(
echo moved         : %$n1%
echo renamed       : %$n2%
echo copies deleted: %$n3%

ENDLOCAL
echo(& echo Script works complited!
pause>nul

Последний раз редактировалось amel27, 11-02-2011 в 12:16. Причина: обновление


Отправлено: 13:21, 26-01-2011 | #43


Аватара для Tosyk

Старожил


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

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


ой, а как добавить папки в обработку? или как он работает?

Отправлено: 14:25, 26-01-2011 | #44


Googler


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

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


Цитата Tosyk:
как добавить папки в обработку? »
вбить имя своей папки корневого каталога (выделено синим)
Цитата Tosyk:
как он работает? »
все подкаталоги 2-го уровня заданной корневой папки поднимает до текущей

Отправлено: 16:27, 26-01-2011 | #45


Аватара для Tosyk

Старожил


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

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


говорит
Код: Выделить весь код
Непредвиденное появление: \%~na!?%~zb?!$b!.

Отправлено: 17:07, 26-01-2011 | #46


Googler


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

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


Цитата Tosyk:
Непредвиденное появление: \%~na!?%~zb?!$b!. »
нужен лог по всем правилам

Отправлено: 17:18, 26-01-2011 | #47


Аватара для Tosyk

Старожил


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

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


лог такой:

Код: Выделить весь код
Сканирование и подготовка каталогов...OK
Сканирование файлов для переноса...

Отправлено: 18:49, 26-01-2011 | #48


Googler


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

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


Цитата Tosyk:
лог такой »
порядок формирования лога в постах #18, #31
для целей отладки пришлось пока пожертвовать скоростью

Отправлено: 04:05, 27-01-2011 | #49


Аватара для Tosyk

Старожил


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

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


я серьёзно, именно это
Цитата Tosyk:
Сканирование и подготовка каталогов...OK
Сканирование файлов для переноса... »
написано в файле script.log

Отправлено: 05:01, 27-01-2011 | #50



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проблема с переносом разрешений при перемещении данных alnimo Microsoft Windows NT/2000/2003 5 21-12-2010 12:22
2003/XP/2000 - Изменение даты письма при перемещении между папками faktroot Microsoft Office (Word, Excel, Outlook и т.д.) 0 26-02-2010 17:58
Треск звука при перемещении мыши Dr. MefistO Непонятные проблемы с Железом 9 07-12-2008 14:26
Интерфейс - Неправильное отображение иконки файла при перемещении kopylovsergey Microsoft Windows 2000/XP 3 19-08-2008 11:24
[решено] Странная загрузка процессора при перемещении мыши DMGaster Microsoft Windows 2000/XP 12 13-09-2006 18:17




 
Переход