Страница 2 из 3

Добавлено: Пн янв 31, 2011 17:32
Flasher
Batya писал(а):Здесь:
Я про условие в коде, а не в комментах.
Batya писал(а):Отсюда подробней. Покажи кнопку, содержимое файла и как запускается скрипт.
Пример текущий, в параметрах <Путь к файл-списку>, например %P%N.
ADD: Так, что-то с TwinKey бяка какая-то, сейчас заработало.

Добавлено: Пн янв 31, 2011 17:40
Batya
Flasher писал(а):Я про условие в коде, а не в комментах.
Batya писал(а):If .Arguments.Count > 1 Then

Добавлено: Пн янв 31, 2011 17:44
Flasher
Так это условие для выбора значения, а вовсе не жёстко заданное условие количества используемых параметров. Да и выше я уже дал понять, что всё работает с одним параметром.

Добавлено: Пн янв 31, 2011 18:05
Jonmey
Batya
Покрутил всяко-разно - скрипт работает без проблем.
В хозяйстве пригодится. Спасибо.

Добавлено: Пн янв 31, 2011 18:12
Batya
Flasher писал(а):Так это условие для выбора значения, а вовсе не жёстко заданное условие количества используемых параметров.
Дык, что тебе надо то?
Flasher писал(а):Да и выше я уже дал понять, что всё работает с одним параметром.
Ну, естесственно. Я же писал:
Batya писал(а):или используется текущая папка кнопки\команды (параметр "Путь запуска").
Вообщем, специально для Flasher
Удали из скрипта следующий текст:

Код: Выделить всё

' Пример параметров при вызове из TC: 
' "C:\Путь\Файл-список.txt" "%P" 

Добавлено: Пн янв 31, 2011 18:30
Flasher
Batya писал(а):Дык, что тебе надо то?
Уже ничего.
Batya писал(а):Ну, естесственно. Я же писал:
Видел, но у меня не сработало сперва.
Batya писал(а):Вообщем, специально для Flasher
Удали из скрипта следующий текст:
Это мне не требуется, как и сам скрипт, а вот человеку пояснить следовало.

Добавлено: Пн янв 31, 2011 21:03
Premix
Batya писал(а):Если текстовый файл небольшой, приведи его реальное содержимое.
К примеру этот:

Код: Выделить всё

[Система]
 
Резервное копирование
Диагностика
Мониторинг
Настройка
Восстановление
Работа с реестром
Автоматизация
Запуск программ
Оболочки
Расширения
Очистка диска 
Поиск
Работа с окнами
Файлменеджеры
Украшательства
Часы
Архиваторы
Диски и файлы
Внешние устройства
Русификаторы
Обновления и т.п.  
 
[Интернет]

Браузеры
Офф-лайн браузеры
Веб ускорители
Анти-спам
Загрузка файлов
Звонилки
FTP
Общение
Он-лайн новости
Поиск 
Связь
Usenet
Почтовые программы
Перекодировщики
Серверное ПО
HTML-редакторы
HTML-утилиты
Другие веб-программы
Раскрутка 
 
[Текст]

Редакторы
Дополнения к Офису
Перевод и распознавание 
Текст_речь
Другие 
  
[Мультимедиа]

Плееры
Конверторы и кодировщики
Редакторы 
Видео
Запись CD_DVD
Утилиты
 
[Графика и дизайн]

Редакторы
Просмотр 
Утилиты 
 
[Безопасность]

Антивирусы
Антишпионы
Файрволлы
Шифрование 
Доступ
Комплексная защита
Другие утилиты
Пароли 
 
[Электронные книги]

IT-литература
Техническая литература
Бизнес литература
Психология и тренинги
Законы и право
Cтуденту и школьнику
Видеокурсы 
Дом и хобби
Художественная Литература
Романы
Маркетинг и реклама
Иностранный язык
Гуманитарная литература 
 
И сама кнопка

Код: Выделить всё

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\scripts\CreatFolder.vbs"
%P%N "%T"
C:\windows\System32\WScript.exe,2
CreatFolder
%COMMANDER_PATH%\scripts\

-1
Файл под курсором, -жму кнопку

Добавлено: Пн янв 31, 2011 21:32
Rodny
Premix
Batya писал(а):Скорее всего на одной из строк находится набор символов, по которому нельзя создать файл - недопустимые символы
Вот он, слэш:
Запись CD/DVD
А также:
> < | ? * / \ : "

Добавлено: Пн янв 31, 2011 22:02
Premix
Rodny писал(а):Вот он, слэш:

Цитата: Запись CD/DVD
Да и сам разобрался.
Rodny, спасибо.
Flasher, спасибо.
Batya, большое спасибо.

Добавлено: Пн янв 31, 2011 23:17
Batya
Изменил скрипт - добавил функцию замены недопустимых символов.

Добавлено: Пн янв 31, 2011 23:36
Premix
Batya
Еще раз большое спасибо!!!

Добавлено: Вт фев 01, 2011 00:02
Jonmey
Batya писал(а):Изменил скрипт - добавил функцию замены недопустимых параметров.
Тогда может еще маленькое изменение?
Если недопустимый символ не крайний - как есть (то есть, как уже и написано в скрипте), а если крайний (в начале слова или в конце) - удалять (или другая замена, отличная от первой). А то по два пробела в имени или подчеркивание в конце - не очень красиво.

Добавлено: Вт фев 01, 2011 09:00
Batya
Jonmey
По поводу лишних концевых пробелов - согласен, поправил.
По поводу "подчеркивание в конце" - спорный момент. В данном случае, мне кажется, что более правильным будет исправить не скрипт, а файл-список.

Добавлено: Вт фев 01, 2011 12:43
Jonmey
Batya
Я имел ввиду, если символ подчеркивания [дефис и т.д.] используется как заменитель запрещенных символов, а не как символ из заданных названий. Например, его удобно использовать для замены в середине слова, а не в конце или начале
CD/DVD -> CD-DVD
Рисунки/Картинки -> Рисунки-Картинки
но не
HDD: Ремонт -> HDD- Ремонт

Хотя, более целесообразно, чтобы скрипт перед созданием папок просто тестировал список на наличие ошибок и запрещенных символов и показывал первую неправильную строку из него с напоминанием списка запрещенных символов. С одной стороны в этом будет обучающий элемент для пользователей. А с другой - минимальный произвол в работе скрипта - названия папок будут такими, какими определит их пользователь (а не скрипт).

Добавлено: Вт фев 01, 2011 13:53
Batya
Jonmey писал(а):Я имел ввиду, если символ подчеркивания [дефис и т.д.] используется как заменитель запрещенных символов
Это я понял сразу.
Jonmey писал(а):но не
HDD: Ремонт -> HDD- Ремонт
А вот только после этого я понял, что речь идёт о крайних символах для слова, а не для всего выражения, как я подумал вначале.
Разбор на слова очень не хочется делать. Думаю, что нет однозначного варинта, разбора, итог которого устроит всех.
Jonmey писал(а):Хотя, более целесообразно, чтобы скрипт перед созданием папок просто тестировал список на наличие ошибок и запрещенных символов и показывал первую неправильную строку из него с напоминанием списка запрещенных символов. С одной стороны в этом будет обучающий элемент для пользователей. А с другой - минимальный произвол в работе скрипта - названия папок будут такими, какими определит их пользователь (а не скрипт).
А вот это можно. Сделал.