View previous topic :: View next topic |
Author |
Message |
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sat Jul 02, 2011 23:10 Post subject: Создание копий файла с заданными в списке именами |
|
|
Подскажите, возможно ли организовать следующую процедуру с помощью Total Commander:
Есть файл:
123.PDF (123 - может быть совершенно любое значение)
Его нужно переименовать в несколько файлов, взяв имена из файла со списком filelist.txt.
Например файл filelist.txt содержит следующее:
qwerty
asdfg
zxcvb12
В результате из файла 123.PDF должно получиться три файла -
qwerty.pdf
asdfg.pdf
zxcvb12.pdf
возможно ли так сделать?
Last edited by midasinc on Sun Jul 03, 2011 15:31; edited 1 time in total |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10266 Location: Россия, Саратов
|
(Separately) Posted: Sat Jul 02, 2011 23:59 Post subject: |
|
|
midasinc
Так копирование или переименование? Исходный PDF-файл куда денется? Исчезнет или тоже останется?
Новые файлы создаются где? В прежнем каталоге?
"Совершенно любое значение" следует понимать, видимо, как файл под курсором? Иначе как мы определим, что обработать надо этот, а не другой файл?
Кроме того, задача на автоматизацию, и в подфоруме "Общие вопросы" ей делать абсолютно нечего. Переносится по принадлежности. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 02:13 Post subject: |
|
|
Avada
Скопировать и переименовать. Исходный файл может остаться как и был. Новые файлы создаются в той же директории. 123.PDF - название для примера, может быть каким угодно.
В подфоруме "Автоматизация Total Commander" написано: Quote: | Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ. | Потому и решил разместить в подфорум "Общие вопросы", так как хотел решить проблему с помощью TC, а не сторонних программ.
! | Avada: | Оверквотинг удалён. | |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 02:56 Post subject: |
|
|
midasinc wrote: | переименовать в несколько файлов | Ага, прям в несколько файлов ... взял да и переименовал.
midasinc wrote: | с помощью Total Commander ... возможно ли так сделать? | Даже с плагинами - нет. Cкриптом/батником - элементарно.
Не надо цитировать весь предыдущий пост, от дублирования предшествующей информации никому никакого толку не будет, только глаза мозолит. |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 03:35 Post subject: |
|
|
Понятно |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 03:40 Post subject: |
|
|
Понятно - это хорошо. Но что страшного в автоматизации средствами винды - я не понял? Или WSH в реестре отключен?
К тому же я на днях только для аналогичной задачки написал скрипт. В коде достаточно вместо html написать pdf и будет работать. |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 04:28 Post subject: |
|
|
Страшного - ничего, просто ночь уже и соображаю плохо, вот и написал "Понятно", а сам подумал -"Пойду-ка я изучать матчасть, то бишь скрипты/батники" . Теперь еще придется искать что такое WHS, вдруг правда отключен.
Насчет скрипта - я, если честно, просто не представляю куда его пихать. Но спасибо, попробую поискать, как и что. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 06:21 Post subject: |
|
|
Скрипт vbs: Code: | ' Создание в папке с файлом под курсором его копий с именами из файла-списка
' Параметры: "%N" "<Путь к файлу со списком имён>"
'======================================================
With CreateObject("WScript.Shell")
L=.ExpandEnvironmentStrings(WScript.Arguments(1))
D=.CurrentDirectory
End With
With CreateObject("Scripting.FileSystemObject")
List=.OpenTextFile(L, 1).ReadAll
For Each F In Split(List, vbNewLine)
If F>vbNullString Then .GetFile(WScript.Arguments(0)).Copy D _
& "\" & F & "." & .GetExtensionName(WScript.Arguments(0))
Next
End With | Пример кнопки: Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\CreateCopiesWithNamesFromList.vbs
"%N" "%%COMMANDER_PATH%%\Scripts\List.txt"
wcmicons.dll,62
Создание копий файла с именами из файла-списка |
midasinc wrote: | Теперь еще придется искать что такое WHS, вдруг правда отключен. | WSH. По умолчанию включён.
Last edited by Flasher on Sun Jul 03, 2011 14:47; edited 1 time in total |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 12:26 Post subject: |
|
|
Flasher спасибо большое.
Сделал кнопку. Создал файлы -
CreateCopiesWithNamesFromList.vbs
list.txt
В vbs скопировал скрипт, в list.txt внес список имен.
Файлы положил в c:\MyApps\Total Commander\Scripts
В произвольной директории создал тестовый файл PDF, навел на него курсор. Нажал кнопку. Выдало ошибку:
Code: | ---------------------------
Windows Script Host
---------------------------
Сценарий: C:\MyApps\Total Commander\Scripts\CreateCopiesWithNamesFromList.vbs
Строка: 5
Символ: 2
Ошибка: Индекс выходит за пределы допустимого диапазона
Код: 800A0009
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------
|
Last edited by midasinc on Sun Jul 03, 2011 14:01; edited 1 time in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 13:34 Post subject: |
|
|
midasinc
Внимательно смотреть, как составлена приведённая кнопка, и соответствовать ей.
Код ошибки копируется из окна по Ctrl+C. |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 14:08 Post subject: |
|
|
Flasher
Ну ясмотрел, но кроме путей, которые вроде же как правильно рассмотрел, вижу неизвестный мне параметр %V и двойной "%%" вокруг "COMMANDER_PATH". Не вижу своей ошибки
Last edited by midasinc on Sun Jul 03, 2011 14:14; edited 2 times in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 14:10 Post subject: |
|
|
midasinc
И в кнопке всё так и осталось (никаких изменений не вносилось)? |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 14:17 Post subject: |
|
|
Вносилось - файл значка изменен, но вроде же он каким боком к проблеме?
Вот копия значка
Code: |
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\CreateCopiesWithNamesFromList.vbs
%V "%%COMMANDER_PATH%%\Scripts\List.txt"
Button.dll,5
Создание копий файла с именами из файла-списка
-1
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 14:19 Post subject: |
|
|
Версия TC какая? |
|
Back to top |
|
|
midasinc
Joined: 17 Apr 2009 Posts: 25
|
(Separately) Posted: Sun Jul 03, 2011 14:20 Post subject: |
|
|
7.55a |
|
Back to top |
|
|
|