View previous topic :: View next topic |
Author |
Message |
den114
Joined: 03 Nov 2007 Posts: 25
|
(Separately) Posted: Sat Nov 03, 2007 16:44 Post subject: Создание папок с именем файлов |
|
|
Небходим плагин для создания папок с тем же именем что и у выделенных файлов и перемещения этих файлов в соответствующие папки.
Перенесено из Плагинов.
Моторокер. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sat Nov 03, 2007 17:29 Post subject: |
|
|
Из RU.TCKB
TCKB wrote: | Создание папки с частью имени выделенного файла с последующим перемещением
Q: Требуется создать папку с тем же именем, что имя у выделенного файла, а потом переместить этот файл в эту папку.
A:
'=====================================================================
' Создание папки с частью имени файла, перемещение в нее файла
' Может быть выделено несколько файлов
' В параметрах вызова из TC должно быть прописано:
' %L
'=====================================================================
Code: | Dim TempFile, FSO, SelFile
Set TempFile =
CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim MoveFiles, FileName, FilePath, DashInName, NewFilePath, M1, M2, M3, M4
MoveFiles = ""
Do While Not TempFile.AtEndOfStream
Set SelFile = FSO.GetFile(TempFile.ReadLine)
FileName = SelFile.Name
FilePath = SelFile.ParentFolder
DashInName = InstrRev(FileName, "-")
If DashInName <> 0 Then
NewFilePath = FilePath & "\" & Trim(Left(FileName, DashInName - 1))
If Not FSO.FolderExists(NewFilePath) Then
FSO.CreateFolder(NewFilePath)
End If
If Not FSO.FileExists(NewFilePath & "\" & FileName) Then
FSO.MoveFile SelFile, NewFilePath & "\"
MoveFiles = MoveFiles + FileName & chr(13)
Else
M1 = MsgBox("Уже существует файл " & FileName & " в папке " & NewFilePath, vbOKOnly + vbExclamation, "Внимание!")
End If
Else
M2 = MsgBox("Имя исполнителя не выявлено", vbOKOnly + vbExclamation, "Внимание!")
End If
Loop
If MoveFiles <> "" Then
MoveFiles = Left(MoveFiles, Len(MoveFiles) - 1)
M3 = MsgBox("Перемещены файлы:" & chr(13) & MoveFiles, vbOKOnly + vbInformation, "Результат")
Else
M4 = MsgBox("Ни одного файла не перемещено" & chr(13) & MoveFiles, vbOKOnly + vbExclamation, "Внимание!")
End If
Set TempFile = Nothing
Set FSO = Nothing
Set SelFile = Nothing
Wscript.Quit |
|
И ещё в разделе форума Автоматизация наверняка что-то есть, поищи. |
|
Back to top |
|
|
den114
Joined: 03 Nov 2007 Posts: 25
|
(Separately) Posted: Sun Jun 01, 2008 14:42 Post subject: Создание папок с именем файла |
|
|
Здравствуйте !
Подскажите как сделать следующее: имеется множество файлов, необходимо создать папку для каждого файла (с таким же именем как у файла) и переместить файл в созданную папку.
! | CaptainFlint: | Тема-дубликат объединена с предшественником. | |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Sun Jun 01, 2008 23:15 Post subject: |
|
|
den114
Какой смысл задавать вопросы, если не читать ответов?
http://forum.wincmd.ru/viewtopic.php?t=11199
Объединяю обе темы в одну и делаю предупреждение. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
swr
Joined: 07 Jun 2007 Posts: 59
|
(Separately) Posted: Mon Jul 07, 2008 16:33 Post subject: |
|
|
Вот мне интерестно, а почему в строке
DashInName = InstrRev(FileName, "-")
FileName, "-", наверное писавший этот скрипт, делал это для какой то конкретной задачи, более универсальным ведь было бы не дефиз поставить а точку.
DashInName = InstrRev(FileName, ".") |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 07, 2008 17:38 Post subject: |
|
|
swr
Это мой скрипт.
Только в данном счлучае ответ не соответствует вопросу.
Если помотреть заголовок скрипта, там написано:
Quote: | Создание папки с частью имени файла, перемещение в нее файла |
Эта "часть имени" по тех. заданию запросившего скрипт пользователя - начало имени файла до символа "-" (см. самое начало темы Script Request). Смысловая же нагрузка наименования переменной не соответствует функционалу. Просто я переделывал другой свой скрипт без изменения наименований переменных. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
se7en
Joined: 12 Dec 2009 Posts: 2
|
(Separately) Posted: Sat Dec 12, 2009 17:26 Post subject: |
|
|
Добрый день,
задам глупый вопрос - каким образом воспользоваться этим скриптом? FAQ не нашёл. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Sat Dec 12, 2009 19:31 Post subject: |
|
|
se7en
Читаем здесь. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
se7en
Joined: 12 Dec 2009 Posts: 2
|
(Separately) Posted: Sat Dec 12, 2009 20:33 Post subject: |
|
|
Спасибо, всё сделал. Перетащил кнопку, но возникает ошибка в 10 строке, 16 символ |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Sat Dec 12, 2009 21:42 Post subject: |
|
|
se7en
Скрипт, ссылка на который приведена в посте D1P (в TCKB), работает безукоризненно. При условии, что для кнопки указано не только имя файла скрипта в поле "Команда", но — в нижележащем поле — ещё и параметры, приведённые в шапке скрипта. Проверял оба варианта (создание папки в той же или в другой панели). _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Wed Dec 16, 2009 16:52 Post subject: |
|
|
Тоже не работает на 3 разных компьютерах.
Картинка
Вот такая ошибка.Microsoft Visual C++
переустанавливал-не помогло.
Тестовый скрипт из папки scripthelper
RestartTotal.vbs работает.
! | Avada: | Картинку заменил ссылкой. | |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Wed Dec 16, 2009 17:23 Post subject: |
|
|
se7en, Itar-Tass
Скрипты мои.
В каком именно возникает ошибка?
Приведите здесь не картинку ошибки (у меня она недоступна), а текст.
Чтобы получить текст ошибки, нужно нажать Ctrl+C при появлении диалогового окна - в буфере обмена окажется нужный текст. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Wed Dec 16, 2009 17:38 Post subject: |
|
|
Itar-Tass
Во-первых, скрин активного окна без постороннего мусора снимается клавишами Alt+PrintScreen.
Во-вторых, пункт 15 правил форума о допустимом размере картинок для кого писан? Замечание за нарушение правил.
В-третьих, от этой картинки вообще мало толку. Гораздо интереснее, как скрипт запускался? Кнопкой? Код в студию.
У меня при запуске кнопкой на основе скрипта с TCKB с правильно указанными параметрами — повторяю ещё раз — всё работает прекрасно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Wed Dec 16, 2009 18:45 Post subject: |
|
|
Quote: | Script: C:\Program Files (x86)\Total Commander\PLUGINS\Tools\tcwshelp_b10\Scripts\papki.vbs
Line: 2
Char: 16
Error: Синтаксическая ошибка
Code: 800A03EA
Source: Ошибка компиляции Microsoft VBScript
---------------------------
ОК |
Команда "C:\Program Files (x86)\Total Commander\PLUGINS\Tools\tcwshelp_b10\Scripts\papki.vbs"
Параметры %L
C:\Program Files (x86)\Total Commander\PLUGINS\Tools\tcwshelp_b10\Scripts\
Файл знака C:\WINDOWS\System32\WScript.exe |
|
Back to top |
|
|
|