Script Request

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

taravasya
Убрал буфер.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
taravasya
Чем больше ссылок — тем лучше. Самая последняя на данный момент версия Хелпера на Народе (пока 90 дней).
Даже самая богатая фантазия
Не представит себе наши безобразия.
taravasya
Сообщения: 38
Зарегистрирован: Сб мар 27, 2010 18:50

Сообщение taravasya »

HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Здравствуйте! Скрипт создания текстового файла с содержимым буфера обмена заменяет русские буквы на знаки вопроса. Как можно поправить?
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

HEXFIX
Продвинутая версия нормально работает?
Кроме того, есть кнопки http://forum.wincmd.ru/viewpost.php?p=53362 и http://forum.wincmd.ru/viewpost.php?p=51907





_____________________
Ненавижу спагетти-темы
Последний раз редактировалось Tol!k Ср сен 22, 2010 12:49, всего редактировалось 1 раз.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

При использовании продвинутой версии вылетает окошко с ошибкой
Строка 13
Символ 1
Индекс выходит за пределы допустимого диапазона
Код 800A0009
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Строка 13 это FileName=WScript.Arguments(0) ?
Параметры указал?






_____________________
Ненавижу спагетти-темы
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Она самая
А какие параметры нужно указать? А главное как и где? :oops:
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

' Параметры:
' {создаваемый файл} [{минимальное количество цифр номера}]
Новый_файл.txt 2
в параметрах кнопки.


_____________________
Ненавижу спагетти-темы
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Спасибо, всё работает :)
bastol
Сообщения: 1
Зарегистрирован: Вс окт 03, 2010 10:17

Нужен скрипт для создания ссылок

Сообщение bastol »

Задача:

С помощью ТС выбрал дубликаты файлов, они на одной из панелей.
требуется скрипт, для создания жестких ссылок из дубликатных файлов.

Файлы могут быть с одинаковыми именами и одинаковым размером, но с разным содержимым.

проблема в том что таких файлов у меня куча, в одном из каталогов до 160 тыс файлов, при размере 12 байт....
Вот и получается потеря практически 1 Гб на пустом месте.

К сожалению, сам пока не могу реализовать эту идею, но очень нужно сейчас, а не потом когда все освою.

Заранее спасибо,
такой скрипт нужен всем - однозначно.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Re: Нужен скрипт для создания ссылок

Сообщение MVV »

bastol писал(а):С помощью ТС выбрал дубликаты файлов, они на одной из панелей.
требуется скрипт, для создания жестких ссылок из дубликатных файлов.

...

такой скрипт нужен всем - однозначно.
Есть сторонняя программа FindDupe, которая именно этим и занимается - ищет дубликаты и заменяет их жесткими ссылками.

Предупреждение. При замене дубликатов жесткой ссылкой и последующей праве файла-дубликата оригинал тоже будет изменен!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

bastol
Было. Там же в последнем посте приводилась ссылка на FindDupe.
Добавлено: На днях, кстати, выкладывал микропак, в состав которого вошла утилита DupeMerge, которая также выполняет аналогичную задачу.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

'=====================================================
' Переход на сменные накопители и переключение между ними
' Авторcтво: по мотивам скрипта Batya
'=====================================================
Option Explicit
Dim FSO, WSH, D, Disk, TCPath, Drive
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Drive   = UCase(FSO.GetDriveName(WSH.CurrentDirectory))
For Each D In FSO.Drives
  If D<>"A:" And D.DriveType=1 And UCase(D.Path)<>Drive Then
      Disk = D.Path & "\"
     Exit For
  End If
  On Error GoTo 0
Next
  TCPath  = WSH.ExpandEnvironmentStrings("%Commander_Path%")_
 & "\totalcmd.exe"
WSH.Run """" & TCPath & """ /S /O /L=""" & Disk & """", 1, True
Set D   = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0
Плюс - быстрый доступ в флешкам, внешним хардам при заваленной панели дисков из виртуальных, сетевых и жёстких томов.
Минус - переключается только между двумя первыми см. накопителями. (тут, конечно, не помешает помощь Batya)
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

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

'========================================================
' Последовательное переключение между дисками

' Параметры скрипта:
' [{Тип дисков}]
' Здесь {Тип дисков} может принимать значения:
' 1 - тома сменных накопителей;
' 2 - тома жёстких дисков;
' 3 - сетевые диски;
' 4 - оптические приводы;
' 5 - виртуальные диски.

' Авторcтво: Flasher, Batya
'========================================================
Option Explicit
'================ Изменяемые параметры ==================
Const DefaultDriveType = 1 'Тип дисков по умолчанию
'========================================================
Dim FSO, WSH, D, Drive, Flag, DriveType
Set FSO   = CreateObject("Scripting.FileSystemObject")
Set WSH   = CreateObject("WScript.Shell")
DriveType = DefaultDriveType
If WScript.Arguments.Count > 0 Then _
  DriveType = CInt(WScript.Arguments(0))
Drive = UCase(FSO.GetDriveName(WSH.CurrentDirectory))
Flag  = False
For Each D In FSO.Drives
  If Flag Then
    If CheckDrive Then
      GoToDrive(D.Path & "\")
      Quit
    End If
  Else
    Flag = (UCase(D.Path) = Drive)
  End If
Next
'Если текущий диск последний, начнём сначала
For Each D In FSO.Drives
  If CheckDrive Then
    GoToDrive(D.Path & "\")
    Quit
  End If
Next

'Подходящих по условиям дисков нет. Выходим
Quit

Sub Quit
  Set D   = Nothing
  Set WSH = Nothing
  Set FSO = Nothing
  WScript.Quit 0
End Sub

Function CheckDrive
  CheckDrive = ((D <> "A:") And D.IsReady And (D.DriveType = DriveType) And (UCase(D.Path) <> Drive))
End Function

Sub GoToDrive(pDrive)
  Dim TCPath
  TCPath = WSH.ExpandEnvironmentStrings("%Commander_Path%")
  WSH.Run """" & TCPath & "\totalcmd.exe"" /S /O /L=" & pDrive, 1, True
End Sub
Последний раз редактировалось Batya Вт окт 26, 2010 16:41, всего редактировалось 2 раза.
Нет, я не сплю. Я просто медленно моргаю.
Ответить