Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Переименование папки с проверкой 
Author Message
_D_V_S_



PostPosted: Mon Jul 27, 2009 12:22    Post subject: Reply with quote

Batya wrote:
Не совсем понял, мы переименовываем 11 -> 1 в этом случае, или надо "ничего не делать"? Если не переименовываем, то когда создавать 11.flg?
Логику данного варианта распиши. Какие папки во что переименовываются при каких флагах?

Может объяснишь на реальном примере, зачем тебе это надо?


Вот смотри Smile Есть два каталога. Из них надо выбрать один и переименовать его. Например, есть каталоги 11 и 12 и один из них (по выбору) надо переименовать в 1.
1. Выбираем 11 и переименовываем в 1.
2. Во второй раз выбираем 12 и переименовываем в 1, но сначала естественно ранее переименованный 11-й, который щас под именем 1 переименовываем обратно - в 11.
3. А в третий раз (мы ж не помним, да нам и не надо запоминать) опять выбираем каталог 12. А он же у нас уже переименован (находится уже в том виде, который нам нужен)... Для этого и придумал я флаги Smile
Флаг создается просто для страховки... По нему батник видит - что выбранный каталог уже переименован.

Суть задачи: выбрать один из каталогов и переименовать его в конкретное имя. И как необходимость - ранее переименованный каталог переименовать в первоначальное имя. Ну как мысль донести - словами не так просто Smile
Вот соорудил батник все-в-одном, просто запусти его на исполнение - я его вроде отладил, работает как часы. Только одно "но" - он для возможности выбора пользует команду choice - в составе Windows XP ее нет, надо кинуть файлик choice.exe в windows\system32... ну думаю это ты и без меня знаешь Smile

Code:
@echo off
cls
if not exist *.flg  goto create

:start
cls
echo.   1. 11
echo.   2. 12
echo.   3. EXIT

choice /c:123 /t:1,60
if errorlevel 3 goto exit
if errorlevel 2 goto 12_1
if errorlevel 1 goto 11_1

:11_1
if exist 11.flg goto run

if exist 12.flg del *.flg
if exist 1 ren 1 12
ren 11 1
echo 11>11.flg
goto run

:12_1
if exist 12.flg goto run

if exist 11.flg del *.flg
if exist 1 ren 1 11
ren 12 1
echo 12>12.flg
goto run

:create
md 11
cd 11
echo 11>test11.file
cd ..
md 12
cd 12
echo 12>test12.file
cd ..
goto start

:run
echo *****Тут запускается некий RUN.exe******

:exit
echo *****EXIT******
pause

exit
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group