Показаны сообщения с ярлыком scripts. Показать все сообщения
Показаны сообщения с ярлыком scripts. Показать все сообщения

22 дек. 2015 г.

Пакетный whois для проверки нескольких зон

Пульнул свой скриптик для проверки скопом доступности вебдомена в нескольких зонах на гитхаб: https://github.com/RettPop/wwhois. You are welcome.

6 окт. 2010 г.

Парочка макросов под Visual Studio 2008

Субж:
1. Выделяет активный документ в окне Solution Explorer:
 
Public Sub LocateFileInSolutionExplorer()
DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
DTE.ExecuteCommand("View.SolutionExplorer")
End Sub


У студии есть настройка Tools/Options/Projects and Solutions/Track Active Item In Solution Explorer, которая позволяет автоматически выделяти активный документ в SE. Этот макрос пользует эту фичу - включил/выключил/активировал окно Solution Explorer.

2. Открывает связанный с активным файл. Если открыт C, CPP, CC, то открывается файл с тем же именем но заголовочным расширением H, HPP, HH, and vice verse.

Sub OpenCorrspFile()
Dim sSF, sSP As String
Dim sDF, sDP As String
Dim sSE, sDE As String

sSP = DTE.ActiveDocument.Path
sSF = DTE.ActiveDocument.Name
sSE = LCase(Right(sSF, Len(sSF) - InStrRev(sSF, ".")))
sSF = Left(sSF, InStrRev(sSF, ".") - 1)

If ((sSE = "h") Or (sSE = "hpp")) Then
If ("" <> Dir(sSP + sSF + ".c")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".c")
End If

If ("" <> Dir(sSP + sSF + ".cc")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".cc")
End If

If ("" <> Dir(sSP + sSF + ".cpp")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".cpp")
End If
End If

'======================================================
If ((sSE = "c") Or (sSE = "cpp") Or (sSE = "cc")) Then
If ("" <> Dir(sSP + sSF + ".h")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".h")
End If

If ("" <> Dir(sSP + sSF + ".hpp")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".hpp")
End If

If ("" <> Dir(sSP + sSF + ".hh")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".hh")
End If
End If

End Sub


3. Форматирует в активном файле блоки if( ... ), обрамляя одним пробелом тело условия:

Sub FormatIF()
DTE.Find.FindWhat = "{:b*}if{:b*}:Ps{:b*}{.*}>{:b*}:Pe{:b*}$"
DTE.Find.ReplaceWith = "\1if( \4 )"
DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
DTE.Find.MatchCase = False
DTE.Find.MatchWholeWord = False
DTE.Find.MatchInHiddenText = False
DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone
DTE.Find.Action = vsFindAction.vsFindActionReplaceAll
DTE.Find.Execute()
End Sub

10 июл. 2010 г.

nnCron, курсор мыши мешает

Периодически возникает ситуация, когда курсор мыши располагается на экране именно там, где сейчас находится текстовый курсор. Чаще всего это бывает, когда выделаешь место для ввода текста мышью. Тянуться к мыше, чтобы убрать ее курсор, харит. Сначала думал сделать что-то, чтобы спрятать курсор мыши. Наткнулся на кучу сложностей. Сделал проще. Для nnCron сделал задачку, которая отодвигает курсор мыши в левый верхний угол текущего окна по нажатию Win-Ctrl-H:

#( MoveMouseLeft
AsLoggedUser
LoadProfile
WatchHotKey: "^$H"
Action:

MOUSE-MOVEW: 0 0
)#


Вот.

12 мая 2010 г.

Анализ свободного места на диске

Сделал анализ свободного места на диске под Windows. Скриптик с расширением *.vbs вызывается в штатном планировщике Windows.



iMinSpc = 2 ' minimal free space on drive in GB
sDrvID = "C:" ' drive letter
sAlerter="c:\WINDOWS\startstopalert.bat"
'===========================================

iGBLeft = 0
strComputer = "."
Set oWSH = CreateObject( "WScript.Shell" )
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objShell = CreateObject("WScript.Shell")

Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk")

For Each objDisk in colDisks
if ( objDisk.DeviceID = sDrvID ) then
iGBLeft = Int(objDisk.FreeSpace/1024/1024/1024)
If iGBLeft <= iMinSpc then
objShell.Run sAlerter & " """ & iGBLeft & "GB left on " & sDrvID & """"
End If
End If
Next


В принципе, в комментариях всё сказано.
Если в системе присутствуют несколько дисков, то делается соответствующее количество копий скрипта с изменением параметров sDrvID и других нужных.

14 сент. 2009 г.

Скрипт резервного копирования файлов

Вот такой скрипт наваял, чтобы быстро и удобно бакапить файлы перед их изменением:
#!/usr/bin/bash
BKPDIR=`date +"%Y-%m-%d"`
BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"`
myhome=`echo ~`
curdir="$myhome/backups/$BKPDIR"
echo "making $curdir"
mkdir -p $curdir
echo "copy $1 to $curdir/$BKPPREFIX`basename $1`.bkp"
cp $1 $curdir/$BKPPREFIX`basename $1`.bkp


Скрипт копирует переданный ему файл в ~/backups/[текущая дата]/[текущая дата+время]_[имя файла].bkp текущего пользователя.

Добавил его в /usr/local/bin и пользую перед каждым изменением конфигов.

18 авг. 2009 г.

Описание дерева объектов при программировании для Adobe Indesign

Вот такой неинтуитивно ожидаемый сайтик - Indesign Scripting Reference. Описание дерева объектов для 3 языков скриптинга в 3-х версиях Adobe Indesign.

11 авг. 2009 г.

Bash. Резервное копирование файла.

Наваял небольшой скриптец для копирования указанного файла в директорию
~/backups/YYYY-MM-dd/YYYY-MM-dd_hh-mm-ss_<имя файла>.bkp
чтобы перед изменением какого-то файла сперва забакапить его, а потом уж и глумиться :)
#!/usr/bin/bash
BKPDIR=`date +"%Y-%m-%d"`
BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"`
myhome=`echo ~`
curdir="$myhome/backups/$BKPDIR"
echo "making $curdir"
mkdir -p $curdir
echo "copy $1 to $curdir/$BKPPREFIX`basename $1`.bkp"
cp $1 $curdir/$BKPPREFIX`basename $1`.bkp


Сомневаюсь, что я первый это придумал, но готового не искал.