и т.д до 250 ссылок(желательно каждая ссылка на одной строке) Можно ли средствами total commander реализовать данную функцию или же нужно использовать спец программы? Если кто сталкивался с подобной проблемой прошу совета. Заранее благодарен.
ТС здесь в любом случае ни при чем: такие вещи делаются скриптами или батниками (которые сами суть скрипты). По батникам у нас специализируется Tol!k, сиди жди его. Такую простую задачу я бы и сам осилил, но он сделает это явно быстрее и качественнее.
Если бы я был на его месте, я бы задал следующие вопросы:
1) В первом файле только адрес и больше ничего?
2) Что значит "создать список"? Где создать? На экране? В буфере? В файле? Если последнее, то как он будет называться и где располагаться?
3) А почему ты не хочешь использовать для этого средства Экселя? Займет тридцать секунд. Импорт, нумерация, экспорт.
2) Что значит "создать список"? Где создать? На экране? В буфере? В файле? Если последнее, то как он будет называться и где располагаться?
Прошу прощения что сразу не пояснил-Естественно список создается в текстовом файле. Называться он будет например "список" (не принципиально) создаваться он будет в рабочем окне (или если есть возможность по выбору -другая панель)
3) А почему ты не хочешь использовать для этого средства Экселя? Займет тридцать секунд. Импорт, нумерация, экспорт.
Можно конечно попробовать и xl но если есть возможность упростить с помощью скрипта, то было бы удобнее - например создал кнопку - изменил например ссылку и создал нужное количество адресов.
Я для начала сделал так - Создал в рабочей директории с помощью скрипта 250 пустых папок, переименовал их, скопировал имена в буфер и создал текстовой файл с именами в списке. ну а далее осталось только добавить одинаковые символы и все. но как-то мне кажется это не совсем удобно.
@echo off &chcp 1251 >nul
rem Пример параметров для ТС: %P%N 250 "%T"
if "%~2"=="" (echo Use: %0 address.txt 100500 &pause &goto :eof)
set /p addr=<%1
cd.>"%~3%~n1.%~2.txt"
for /l %%c in (1,1,%2) do (>>"%~3%~n1.%~2.txt" echo:%addr%%%c/)
Да и кстати. какие параметры должны быть для создания такого же файла в той же директории что и файл со ссылкой? Пробую разные варианты все равно создает в противоположной панели
' Создание списка c добавлением строк из строки
' выделенного файла по схеме: <строка>/<№ счётчика>/
' Параметры: %V "путь к создаваемому файлу" <первый № счётчика> <число строк>
' Пример: %V "%PCписок_для_"%N 1 250
'=======================================================
With CreateObject("Scripting.FileSystemObject")
Set File = .OpenTextFile(WScript.Arguments(0),1)
Set List = .OpenTextFile(WScript.Arguments(1),8,True)
End With
Str = File.ReadLine
For i=WScript.Arguments(2) to Abs(WScript.Arguments(2))+Abs(WScript.Arguments(3))-1
If Right(Str,1)="/" Then
List.WriteLine Str & i & "/"
Else
List.WriteLine Str & "/" & i & "/"
End If
Next
List.Close
WScript.Quit
Могу, в принципе, для удобства добавить окна с вопросами, с чего начинать и сколько строк создавать. Может пригодиться в некоторых ситуациях.
Последний раз редактировалось Flasher Вс июл 17, 2011 00:06, всего редактировалось 2 раза.
пробовал также полный путь в ковычках, и с расширением .txt- тот же результат. И конечно было бы удобнее если скрипт был с окнами(так, как количество строк в каждом случае может быть разное), а менять каждый раз кнопку не совсем удобно. Спасибо.
shveicar писал(а):было бы удобнее если скрипт был с окнами(так, как количество строк в каждом случае может быть разное), а менять каждый раз кнопку не совсем удобно.
' Создание списка c добавлением строк из строки
' выделенного файла по схеме: <строка>/<№ счётчика>/
' Параметры: %P%N "<путь к создаваемому файлу>"
' Пример: %P%N "%PCписок_для_"%N
'=======================================================
With CreateObject("Scripting.FileSystemObject")
Set File = .OpenTextFile(WScript.Arguments(0),1)
Set List = .OpenTextFile(WScript.Arguments(1),8,True)
End With
N = InputBox("Введите первый номер счётчика", "Добавление строк в список")
Count = InputBox("Введите число строк", "Добавление строк в список")
If Len(N) = 0 Or Len(Count) = 0 Then WScript.Quit
Str = File.ReadLine
For i = N to Abs(N)+Abs(Count)-1
If Right(Str,1) = "/" Then
List.WriteLine Str & i & "/"
Else
List.WriteLine Str & "/" & i & "/"
End If
Next
List.Close
WScript.Quit
Добавлено спустя 2 минуты:
Tol!k писал(а):Не будет работать с пробелами в путях
В папках да, но не в файлах. Исправил.
Последний раз редактировалось Flasher Вс июл 17, 2011 00:04, всего редактировалось 4 раза.