View previous topic :: View next topic |
Author |
Message |
B_comp
Joined: 23 Sep 2010 Posts: 3
|
(Separately) Posted: Thu Sep 23, 2010 17:39 Post subject: Создание папки внутри существующей с изменением имени |
|
|
После долгих мучений, понял что сам не справлюсь
Задача: Есть папка с именем x_y. Нужно создать внутри нее папку с именем x_job, т.е все что после подчеркивания (y = любой набор символов) заменить на "job".
Затем скопировать в полученную папку файл из определенного места (всегда один и тот же файл из одного и того же места), переименовать его оставив родное расширение в x_y (название исходной папки) и запустить.
Хотелось бы находясь в нужной исходной папке, нажав на педаль, получить описанный выше результат. Возможно ли это? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Sep 23, 2010 22:02 Post subject: |
|
|
1) x - это тоже любой набор символов, или "x_" - константа?
2) у определённого места и одного и того же файла постоянные названия имеются? |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Fri Sep 24, 2010 00:35 Post subject: |
|
|
B_comp
Батник подойдет? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 24, 2010 01:29 Post subject: |
|
|
Serge Yolkin
Тут обычно не спрашивают, а пишут. В условии-то задано не было.  |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Fri Sep 24, 2010 09:19 Post subject: |
|
|
Flasher
А если ещё не написали, то не вредно заранее и спросить, чтобы не делать зря работу. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 24, 2010 09:25 Post subject: |
|
|
Avada
С таким подходом стоило спросить, какой из скриптовых языков рассматривается и перечислить в довесок с пяток, а то и десяток, другой. Что Tol'k, что Batya, что Loopback (и т.д.) никогда об этом не спросят, если это жёстко не задано в условии. Поэтому не понимаю, к чему эти флеймовские запевы..
Last edited by Flasher on Fri Sep 24, 2010 10:08; edited 1 time in total |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Fri Sep 24, 2010 09:44 Post subject: |
|
|
Flasher
И я не понимаю, к чему. Человек задал уточняющий вопрос по приемлемости батника (не скриптов) и ждёт на него ответа. Никакого криминала и повода для чтения нотаций здесь нет. Это моё мнение как модератора. Дискуссия по поводу уместности/неуместности закончена. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 24, 2010 09:51 Post subject: |
|
|
Avada wrote: | И я не понимаю, к чему. | А тут и понимать нечего. Концепция поведения на форуме такая. Я лишь довожу до сведения о том, что в будущем в таких ситуациях можно обойтись и без уточняющих вопросов подобного рода. Сообщество не даст соврать.
А для Серёги Ёлкина написать такого рода батник - пару минут. Поэтому о трате времени можно и умолчать. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Fri Sep 24, 2010 10:00 Post subject: |
|
|
Flasher wrote: | Я лишь довожу до сведения о том, что в будущем в таких ситуациях можно обойтись и без уточняющих вопросов. |
А можно и не обойтись. Повторяю ещё раз и больше ни разу — дискуссия закончена. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 24, 2010 10:04 Post subject: |
|
|
Avada wrote: | Дискуссия по поводу уместности/неуместности |
Avada wrote: | Повторяю ещё раз | Я про уместность уже нигде не писал.
Для меня дискуссия не закончена по крайней мере с автором топика. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Fri Sep 24, 2010 10:14 Post subject: |
|
|
Дискуссия с автором топика, разумеется, продолжается.  _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Fri Sep 24, 2010 11:24 Post subject: |
|
|
Переведём дискуссию в конструктивное русло
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 |
|
 |
B_comp
Joined: 23 Sep 2010 Posts: 3
|
(Separately) Posted: Fri Sep 24, 2010 12:44 Post subject: |
|
|
Спасибо огромное! Все отлично работает!
А возможно добавить еще переименование скопированного файла (MyFile.Ext) в имя исходной папки (x_y.ext). Именно исходной, а не созданной в процессе?
Заранее благодарен. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Fri Sep 24, 2010 13:14 Post subject: |
|
|
B_comp wrote: | А возможно добавить еще переименование скопированного файла (MyFile.Ext) в имя исходной папки (x_y.ext). Именно исходной, а не созданной в процессе? |
Легко. Скрипт поправил. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
B_comp
Joined: 23 Sep 2010 Posts: 3
|
(Separately) Posted: Fri Sep 24, 2010 13:30 Post subject: |
|
|
Отлично! Спасибо ещё раз! Очень облегчили мне жизнь в плане скорости и избежания ошибок в именах папок и файлов. На самом деле исходная папка это "Номер заказа_название заказчика". Схема работы (придуманная еще до меня) такая - внутри создается рабочая папка с номером заказа и в ней продолжается работа. В частности, сохраняется job-файл программы Preps c нужным именем. Сам я в написании скриптов - 0. |
|
Back to top |
|
 |
|