Создание папки внутри существующей с изменением имени
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Создание папки внутри существующей с изменением имени
После долгих мучений, понял что сам не справлюсь:)
Задача: Есть папка с именем x_y. Нужно создать внутри нее папку с именем x_job, т.е все что после подчеркивания (y = любой набор символов) заменить на "job".
Затем скопировать в полученную папку файл из определенного места (всегда один и тот же файл из одного и того же места), переименовать его оставив родное расширение в x_y (название исходной папки) и запустить.
Хотелось бы находясь в нужной исходной папке, нажав на педаль, получить описанный выше результат. Возможно ли это?
Задача: Есть папка с именем x_y. Нужно создать внутри нее папку с именем x_job, т.е все что после подчеркивания (y = любой набор символов) заменить на "job".
Затем скопировать в полученную папку файл из определенного места (всегда один и тот же файл из одного и того же места), переименовать его оставив родное расширение в x_y (название исходной папки) и запустить.
Хотелось бы находясь в нужной исходной папке, нажав на педаль, получить описанный выше результат. Возможно ли это?
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
Avada
С таким подходом стоило спросить, какой из скриптовых языков рассматривается и перечислить в довесок с пяток, а то и десяток, другой. Что Tol'k, что Batya, что Loopback (и т.д.) никогда об этом не спросят, если это жёстко не задано в условии. Поэтому не понимаю, к чему эти флеймовские запевы..
С таким подходом стоило спросить, какой из скриптовых языков рассматривается и перечислить в довесок с пяток, а то и десяток, другой. Что Tol'k, что Batya, что Loopback (и т.д.) никогда об этом не спросят, если это жёстко не задано в условии. Поэтому не понимаю, к чему эти флеймовские запевы..
Последний раз редактировалось Flasher Пт сен 24, 2010 10:08, всего редактировалось 1 раз.
Flasher
И я не понимаю, к чему. Человек задал уточняющий вопрос по приемлемости батника (не скриптов) и ждёт на него ответа. Никакого криминала и повода для чтения нотаций здесь нет. Это моё мнение как модератора. Дискуссия по поводу уместности/неуместности закончена.
И я не понимаю, к чему. Человек задал уточняющий вопрос по приемлемости батника (не скриптов) и ждёт на него ответа. Никакого криминала и повода для чтения нотаций здесь нет. Это моё мнение как модератора. Дискуссия по поводу уместности/неуместности закончена.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
А тут и понимать нечего. Концепция поведения на форуме такая. Я лишь довожу до сведения о том, что в будущем в таких ситуациях можно обойтись и без уточняющих вопросов подобного рода. Сообщество не даст соврать.Avada писал(а):И я не понимаю, к чему.
А для Серёги Ёлкина написать такого рода батник - пару минут. Поэтому о трате времени можно и умолчать.
Переведём дискуссию в конструктивное русло 
vbs-скрипт:
vbs-скрипт:
Код: Выделить всё
'=====================================================================================
' Создание папки с частью имени родительской (по разделитель) и добавлением окончания.
' Копирование в новую папку определённого файла.
' Параметры:
' {Родительская папка} {Разделитель} {Окончание} {Копируемый файл}
' Пример параметров вызова из 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
Последний раз редактировалось Batya Пт сен 24, 2010 13:14, всего редактировалось 1 раз.
Нет, я не сплю. Я просто медленно моргаю.
Отлично! Спасибо ещё раз! Очень облегчили мне жизнь в плане скорости и избежания ошибок в именах папок и файлов. На самом деле исходная папка это "Номер заказа_название заказчика". Схема работы (придуманная еще до меня) такая - внутри создается рабочая папка с номером заказа и в ней продолжается работа. В частности, сохраняется job-файл программы Preps c нужным именем. Сам я в написании скриптов - 0.