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 

Создание папки внутри существующей с изменением имени
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
B_comp



Joined: 23 Sep 2010
Posts: 3

Post (Separately) Posted: Thu Sep 23, 2010 17:39    Post subject: Создание папки внутри существующей с изменением имени Reply with quote

После долгих мучений, понял что сам не справлюсьSmile
Задача: Есть папка с именем x_y. Нужно создать внутри нее папку с именем x_job, т.е все что после подчеркивания (y = любой набор символов) заменить на "job".
Затем скопировать в полученную папку файл из определенного места (всегда один и тот же файл из одного и того же места), переименовать его оставив родное расширение в x_y (название исходной папки) и запустить.
Хотелось бы находясь в нужной исходной папке, нажав на педаль, получить описанный выше результат. Возможно ли это?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Sep 23, 2010 22:02    Post subject: Reply with quote

1) x - это тоже любой набор символов, или "x_" - константа?
2) у определённого места и одного и того же файла постоянные названия имеются?
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Fri Sep 24, 2010 00:35    Post subject: Reply with quote

B_comp
Батник подойдет?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Sep 24, 2010 01:29    Post subject: Reply with quote

Serge Yolkin
Тут обычно не спрашивают, а пишут. В условии-то задано не было. Wink
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 24, 2010 09:19    Post subject: Reply with quote

Flasher
А если ещё не написали, то не вредно заранее и спросить, чтобы не делать зря работу.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Sep 24, 2010 09:25    Post subject: Reply with quote

Avada
С таким подходом стоило спросить, какой из скриптовых языков рассматривается и перечислить в довесок с пяток, а то и десяток, другой. Что Tol'k, что Batya, что Loopback (и т.д.) никогда об этом не спросят, если это жёстко не задано в условии. Поэтому не понимаю, к чему эти флеймовские запевы..


Last edited by Flasher on Fri Sep 24, 2010 10:08; edited 1 time in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 24, 2010 09:44    Post subject: Reply with quote

Flasher
И я не понимаю, к чему. Человек задал уточняющий вопрос по приемлемости батника (не скриптов) и ждёт на него ответа. Никакого криминала и повода для чтения нотаций здесь нет. Это моё мнение как модератора. Дискуссия по поводу уместности/неуместности закончена.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Sep 24, 2010 09:51    Post subject: Reply with quote

Avada wrote:
И я не понимаю, к чему.
А тут и понимать нечего. Концепция поведения на форуме такая. Я лишь довожу до сведения о том, что в будущем в таких ситуациях можно обойтись и без уточняющих вопросов подобного рода. Сообщество не даст соврать. Cool
А для Серёги Ёлкина написать такого рода батник - пару минут. Поэтому о трате времени можно и умолчать.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 24, 2010 10:00    Post subject: Reply with quote

Flasher wrote:
Я лишь довожу до сведения о том, что в будущем в таких ситуациях можно обойтись и без уточняющих вопросов.

А можно и не обойтись. Повторяю ещё раз и больше ни разу — дискуссия закончена.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Sep 24, 2010 10:04    Post subject: Reply with quote

Avada wrote:
Дискуссия по поводу уместности/неуместности
Avada wrote:
Повторяю ещё раз
Я про уместность уже нигде не писал. Smile
Для меня дискуссия не закончена по крайней мере с автором топика.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 24, 2010 10:14    Post subject: Reply with quote

Дискуссия с автором топика, разумеется, продолжается. Wink
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Fri Sep 24, 2010 11:24    Post subject: Reply with quote

Переведём дискуссию в конструктивное русло Wink
vbs-скрипт:
Code:
'=====================================================================================
' Создание папки с частью имени родительской (по разделитель) и добавлением окончания.
'   Копирование в новую папку определённого файла.

' Параметры:
' {Родительская папка} {Разделитель} {Окончание} {Копируемый файл}

' Пример параметров вызова из TC:
' "%P" "_" "job" "C:\MyFold\MyFile.Ext"
'=====================================================================================
Option Explicit
Dim FSO, ParentFold, Separator, NameFold, NewFold, NewFoldEnd, MyFile, Pos
Set FSO    = CreateObject("Scripting.FileSystemObject")
ParentFold = WScript.Arguments(0)
Separator  = WScript.Arguments(1)
NewFoldEnd = WScript.Arguments(2)
MyFile     = WScript.Arguments(3)

If Right(ParentFold, 1) <> "\" Then ParentFold = ParentFold & "\"
NameFold = FSO.GetFolder(ParentFold).Name
Pos      = Instr(1, NameFold, Separator, 1)
NewFold  = ParentFold & Left(NameFold, Pos) & NewFoldEnd

If Not FSO.FolderExists(NewFold) Then FSO.CreateFolder(NewFold)
If Right(NewFold, 1) <> "\" Then NewFold = NewFold & "\"

FSO.CopyFile MyFile, NewFold & NameFold & "." & FSO.GetExtensionName(MyFile)

Set FSO = Nothing
Wscript.Quit 0

_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Fri Sep 24, 2010 13:14; edited 1 time in total
Back to top
View user's profile Send private message
B_comp



Joined: 23 Sep 2010
Posts: 3

Post (Separately) Posted: Fri Sep 24, 2010 12:44    Post subject: Reply with quote

Спасибо огромное! Все отлично работает!
А возможно добавить еще переименование скопированного файла (MyFile.Ext) в имя исходной папки (x_y.ext). Именно исходной, а не созданной в процессе?
Заранее благодарен.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Fri Sep 24, 2010 13:14    Post subject: Reply with quote

B_comp wrote:
А возможно добавить еще переименование скопированного файла (MyFile.Ext) в имя исходной папки (x_y.ext). Именно исходной, а не созданной в процессе?

Легко. Скрипт поправил.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
B_comp



Joined: 23 Sep 2010
Posts: 3

Post (Separately) Posted: Fri Sep 24, 2010 13:30    Post subject: Reply with quote

Отлично! Спасибо ещё раз! Очень облегчили мне жизнь в плане скорости и избежания ошибок в именах папок и файлов. На самом деле исходная папка это "Номер заказа_название заказчика". Схема работы (придуманная еще до меня) такая - внутри создается рабочая папка с номером заказа и в ней продолжается работа. В частности, сохраняется job-файл программы Preps c нужным именем. Сам я в написании скриптов - 0.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group