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

Показать сообщение отдельно

Googler


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

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


Цитата Tosyk:
как сделать чтобы после перемещения удалялась исходная папка? »
вариант с удалением успешно перемещенных папок:
Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion

Call :MainExe Material3
Call :MainExe MaterialConst

EXIT

:MainExe  %folder_name%
::---------------------
 set "set $d="& if "%~1"=="" GoTo:EOF
 for /f "delims=" %%d in ('dir/b/s/ad "%~1.*"') do if "%%~xd"=="" (
   set "$e=0"& for /f "delims=" %%f in ('dir/b/s/a-d "%%d"') do (
     set "$d=%%~dpf"& set "$d=!$d:%%~dpd=%%~dpd..\..\!"
     call:MoveRen "%%f" "!$d!"||set/a $e+=1 )
   if !$e!==0 rd /s/q "%%d" )
GoTo:EOF

:MoveRen  %source_file% %destin_folder%
::-------------------------------------
 set "$s="& set "$n="& if "%~1"=="" GoTo:EOF
 if not exist "%~2" md "%~2"||exit/b 1
:MoveRen_Loop
 if not exist "%~2%~n1%$s%%~x1" move "%~1" "%~2%~n1%$s%%~x1"&& GoTo:EOF||exit/b 2
 fc/b "%~1" "%~2%~n1%$s%%~x1">nul&& (del/f/q "%~1"&& GoTo:EOF||exit/b 3)
 set/a "$n+=1"& set "$s=0!$n!"& set "$s=_!$s:~-2!"
GoTo:MoveRen_Loop

Последний раз редактировалось amel27, 18-01-2011 в 12:47. Причина: посветка строки


Отправлено: 06:32, 18-01-2011 | #16