Какой из наиболее полезных script вы писали для повседневной жизни?

Просто интересно, какие маленькие скрипты/программы люди здесь написаны, что помогает одному с его или ее повседневной жизнью (иначе это не связано с работой).

Все идет, новаторский или нет. Для меня прямо сейчас это небольшой python script для вычисления темпа пробега, пройденного пройденным расстоянием и временем.

Ответ 1

Моя клавиша o отвалилась на моем ноутбуке; поэтому я написал программу, которая заменяет два "0" нажатия клавиш в пределах 200 MS друг от друга как o, два "0" нажатия клавиш в пределах 700 MS друг от друга как 0 и игнорируют остальные; поэтому я мог бы использовать свой ноутбук, прежде чем приступать к замене клавиатуры.

Ничего себе; Я не знал, что это будет так популярно: p

Что касается того, как: Microsoft предоставляет небольшую функциональность API, называемую "Крючки".

http://msdn.microsoft.com/en-us/library/ms644959(VS.85).aspx#wh_keyboard_llhook

Использование этого крючка; Я смог написать "фильтр", который сделал то, что мне было нужно (подсказка: если вы вернетесь 1, когда ваши обратные вызовы не будут обрабатывать нажатие клавиши).

Причина, по которой я знаю об этом, - это не потому, что я пишу кейлоггер, но потому, что я написал программу smiler для Synergy a назад.

И да. Я написал еще одну программу, которая меняла альфа-числовые клавиши со случайным буквенно-цифровым ключом и да; это было действительно смешно: D

Ответ 2

У меня больше нет кода, но, возможно, самый полезный script, который я написал, был, верьте или нет, в VBA. У меня был раздражающий коллега, у которого был такой короткий плавкий предохранитель, что я назвал его вишневой бомбой. Он часто злится, когда клиенты звонят, а затем встают и начинают разглагольствовать на меня по стене кабины, убивая мою производительность и моральный дух.

Я всегда открывал Microsoft Excel. Когда он это сделает, я бы выбрал alt-tab для Excel и там, на панели инструментов, была новая иконка с изображением вишневой бомбы. Я бы осторожно нажал на это... и ничего не получилось.

Однако вскоре после этого я позвоню и скажу что-нибудь вроде "да, да, это звучит плохо. Мне лучше взглянуть". А потом я встаю, извиняюсь перед Черри-Бомбой и ухожу.

Что случилось, так это то, что мы использовали NetWare, и у него была встроенная система обмена сообщениями. Когда я нажал кнопку, маленький VBA script отправил сообщение NetWare своим друзьям, сказав им, что Cherry Bomb был в это снова, и они мне позвонят. Он никогда не понял это:)

Ответ 3

A bash script называется up, так что если я в /a/very/deeply/nested/path/somewhere, и я хочу пойти вверх по N каталогам, я могу ввести up N:

#!/bin/bash
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P

Например:

/a/very/deeply/nested/path/somewhere> up 4
/a/very> 

NB gmatt:

Работая над большой работой выше, она может быть расширена до обратной функции, поместив следующее в ваш bashrc:

function up( )
{
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P
export MPWD=$P
}

function back( )
{
LIMIT=$1
P=$MPWD
for ((i=1; i <= LIMIT; i++))
do
    P=${P%/..}
done
cd $P
export MPWD=$P
}

Ответ 4

Супер удаленная кнопка reset.
Стойка супер специального симуляционного оборудования (в те дни, когда комната, заполненная ящиками VME, делала меньше, чем ваш GPU), что пользователь на другой стороне мира рушится рано утром. Потребовалось час, чтобы попасть в лабораторию и обеспечить безопасность.

Но нам не разрешалось подключаться к суперспециализированному контроллеру или изменять оборудование. Решение было старой рабочей станцией DEC с матричным принтером EPSON, наклейте пластиковую линейку на ручку подачи бумаги, расположите принтер рядом с кнопкой reset.
Войдите в WS в качестве обычного пользователя (не разрешено root, все внешние порты заблокированы), распечатайте документ с 24-строчными линиями, который повернул ручку подачи бумаги и линейку нажал на reset на супер специальном оборудовании.

Ответ 5

В Windows XP я задал AT-задание для ежедневной работы этой команды в C:\

dir /s /b * > dirlist.txt

В этом списке указан полный путь для всех файлов на диске C. Затем, когда мне нужно найти файл, я могу использовать findstr. Это позволяет использовать поиск в Windows Explorer, поскольку позволяет использовать регулярное выражение по всему пути. Например:

findstr ".jpg" dirlist.txt
findstr /i /r "windows.*system32.*png$" dirlist.txt

Это очень быстрое решение для настройки и отлично, если вы обнаружите, что у вас установлена ​​новая установка Windows и нет подключения к Интернету.

Если вам нужно выполнить поиск в определенных типах файлов для некоторого шаблона, сначала укажите все файлы, которые нужно проверить, затем выполните поиск в них. Например, чтобы найти программу Java или Python, которая переворачивает изображение, вы можете сделать это:

findstr "\.java \.py" dirlist.txt > narrowlist.txt
findstr /i /r /f:narrowlist.txt "flip.*image"

Ответ 6

У меня есть Python script, который автоматически запускается при подключении моей цифровой камеры.

Он копирует все снимки с карты на камеру, поддерживает их, а затем загружает их в Flickr.


Выгружаемый файл Flickr происходит от uploadr.py (на что я не могу взять кредит).

Здесь код Python для разгрузки камеры. Он рекурсирует через SRCDIR и называет каждое изображение с датой и временем перед копированием изображений в DESTDIR.

#!/usr/bin/python

import os
import string
import time
import shutil

###################################################
__SRCDIR__ = "/mnt/camera"
__DESTDIR__ = "/home/pictures/recent"
###################################################
def cbwalk(arg, dirname, names):
    sdatetime = time.strftime("%y%m%d%H%M")
    for name in names:
        if string.lower(name[-3:]) in ("jpg", "mov"):
            srcfile = "%s/%s" % (dirname, name)
            destfile = "%s/%s_%s" % (__DESTDIR__, sdatetime, name)
                    print destfile
            shutil.copyfile( srcfile, destfile)
###################################################
if __name__ == "__main__":
    os.path.walk(__SRCDIR__, cbwalk, None)

Ответ 7

Несколько лет назад я написал приложение winforms с помощью нескольких win32 api, чтобы полностью заблокировать себя из своего компьютера в течение часа, чтобы он заставил меня пойти и тренироваться. Потому что я ленился? Нет... потому что у меня была личная цель для фитнеса. Иногда вам просто нужно немного начать, чтобы начать:)

Ответ 8

Моя резервная копия .cmd script. Он работает на моем сервере каждую ночь и называет файлы резервных копий в соответствии с рабочим днем. Целая неделя резервных копий несколько раз спасла меня (и мою семью):

:: Backup args:
::   /V Verify? (yes/no)
::   /R Restrict access to owner? (yes/no)
::   /RS Removable storage? (yes/no)
::   /HC Hardware compression (on/off)
::   /M Backup type (normal/copy/differential/incremental/daily)
::   /L Log file type (f/s/n)
::   /D "Description"
::   /J "Job-name"
::   /F "File-name"

SETLOCAL

:: ensure that network drives are mounted
CALL C:\bat\configs\MapShares-home.cmd
echo on

set today=%DATE:~0,3%
if %today%==Mon set yesterday=0Sunday
if %today%==Tue set yesterday=1Monday
if %today%==Wed set yesterday=2Tuesday
if %today%==Thu set yesterday=3Wednesday
if %today%==Fri set yesterday=4Thursday
if %today%==Sat set yesterday=5Friday
if %today%==Sun set yesterday=6Saturday

set configsDir=%~dp0
set storePath=C:\mybackups

:: (eg: Monday C files)
set title=%yesterday% backup set


echo %DATE% %TIME% %title% > "%storePath%\%yesterday%_backup.log"

CALL BackupConfigs.bat

:: Create new BKF file
call C:\WINDOWS\system32\ntbackup.exe backup ^
    "@%configsDir%\daily.bks" ^
    /V:yes /R:no /RS:no /HC:off /M normal /L:s ^
    /D "%title%" ^
    /J "%title%.job" ^
    /F "%storePath%\%yesterday%.bkf" ^
    >> "%storePath%\%yesterday%_backup.log"

echo %DATE% %TIME% Completed >> "%storePath%\%yesterday%_backup.log"

copy "%storePath%\%yesterday%.bkf" "V:\Backups\NEPTUNE"

CALL C:\bat\clean-temps.bat

defrag -v C: > "%storePath%\%yesterday%_defrag.log"

:: display backup directories
start /D"C:\bat\Backups\" checkbkf.bat

ENDLOCAL

::pause

Ответ 9

"backup.sh", который закрашивает содержимое каталога и отправляет его в мою учетную запись gmail.

Ответ 10

Я - частный пилот. Я написал несколько сценариев, которые получают информацию о погоде для локальных аэропортов от авиационной службы. Они были полезны для быстрого ответа на вопрос "Сегодня ли хороший день летать?"

Ответ 11

Я написал Python script, который подойдет ко всем прочитанным веб-комиксам и загрузит любые новые комиксы. Я просто запускаю это один раз в день, и нет необходимости посещать каждый сайт по отдельности, просто посетите/Comics/Folder.;)

Ответ 12

A Greasemonkey script, который удаляет явно глупые [*] комментарии с игрового сайта Kotaku.com.

[*] Как определено обычными орфографическими ошибками, написанием всех шапок, чрезмерным использованием "LOL" и аналогичных эвристик.

Ответ 13

Скриншот с резьбой HTML для загрузки всех доступных субтитров для сериалов/фильмов с сайта, который является болью для использования (вам нужно щелкнуть, как 4 раза после поиска, чтобы перейти на страницу загрузки, чтобы показывать больше объявлений). Теперь я просто положил критерии поиска и нажал кнопку "скачать".

Ответ 14

Я написал script, который использовался каждый день в моей команде. Когда я работал в Intel, у нас было приложение, которое разговаривало с базой данных доступа, чтобы захватить дамп регистрационной информации (я работал над проверкой наборов микросхем). Он будет использовать эту информацию (из SQL-запроса) и выгрузить ее в CSV файл, HTML файл и файл Excel. Весь процесс занял почти 2 часа. Без шуток. Не знаю, почему это заняло так много времени. Мы начнем его за час до обеда, пойдем обедать, а потом вернемся.

Я думал, что должен быть лучший способ сделать это. Я поговорил с командой, которая поддерживала базу данных реестра и получала от них код SQL. Затем я написал perl script, который захватил данные и вывел их в форматы CSV, HTML и Excel. Продолжительность? Около 1-2 секунд. Отличное улучшение скорости.

Я также написал несколько сценариев, когда я был в развертывании в Ираке в 2006 году (я служил в Национальной гвардии в течение 9 лет - вышел в декабре). Мы использовали это старое приложение под названием ULLS-G (Unit Level Logistics System - Ground), которое было написано в ADA и первоначально запускалось в DOS. Они взломали его достаточно, чтобы он работал в Windows XP в командной оболочке. Эта система не имела интерфейса мыши. Все было с клавиатуры, и у нее не было функциональных функций. Итак, скажем, вы хотели распечатать лицензии для всех операторов транспортных средств? Ну... у нас было 150 солдат в нашем подразделении, так что потребовалось много времени. Пусть говорят, что каждый получил квалификацию на новом автомобиле, и вы хотели добавить его к квалификации каждого оператора? Вы должны были делать это один за другим.

Мне удалось найти драйвер ODBC для базы данных SAGE (что использовал ULLS-G), и поэтому я написал perl-скрипты, которые смогли поговорить с базой данных SAGE. Итак, все, что заняло более часа, заняло всего несколько секунд. Я также использовал свои сценарии и драйвер для отчетности. Каждое утро нам приходилось сообщать всю информацию в батальон. Другие подразделения ежедневно пишут информацию вручную. Я взломал макрос Excel, который говорил, использовал один и тот же драйвер и разговаривал с базой данных SAGE и таким образом обновлял электронную таблицу Excel. Это самый сложный и единственный макрос Excel, который я когда-либо писал. Это окупилось, потому что они наградили меня медалью за похвалу армии. Так что да, у меня есть медаль в армии для написания сценариев perl:) Сколько можно сказать?;)

Ответ 15

A perl script, который сбрасывает мой локальный Craigslist по выбранным категориям в SQL DB, с которым я могу запросить запрос.

V2 этого обновляет БД таймером и предупреждает меня, если у меня есть совпадение по любому из запросов, в основном предоставляя мне фоновый агент для CL.

Ответ 16

alias dir = 'ls -al' - мой любимый script.

Ответ 17

Переименование массового файла с помощью drag & drop.

Возраст назад я создал небольшой VBScript, который принимает RegEx и соответственно заменяет имена файлов. Вы просто сбросили на него кучу файлов или папок. Я обнаружил, что это очень полезно на протяжении многих лет.

gist.github.com/15824 (Остерегайтесь комментариев на немецком языке)

Ответ 18

Это, начиная с публикации в моем блоге несколько месяцев назад, ушло из того, что я думал, что это круто для одного из лучшие маленькие хаки, которые я кашлял в недавней памяти. Я цитирую его здесь полностью:

==================

Я провожу много времени в bash. Для непосвященных bash - это система, которая вы найдете на большинстве машин Unix и, к счастью, некоторые окна и каждый Mac там. Сначала краснеть, это не более чем интерфейс командной строки, и, следовательно, от радара большинства пользователей, которые видят такие вещи, как анахронизм они предпочли бы забыть.

Я делаю почти все в bash. Я ПРОЧИТАЛ МОЮ ЭЛЕКТРОННУЮ ПОЧТУ ИЗ КОМАНДНОЙ ЛИНИИ, которая почему я избегаю отмеченной электронной почты. Я перемещаю каталоги, редактирую файлы, занимаюсь своим ежедневная проверка и доставка исходного кода, поиск файлов, поиск внутри файлов, перезагрузите мою машину и даже иногда просматривайте веб-страницы из командной строки. bash - это сердце и душа моего цифрового существования.

Проблема в том, что я имею тенденцию иметь около 6 bash окон, открытых одновременно. В работа сегодня, у меня был один, управляющий веб-сервером, еще одна игра с моей базой данных, третье, четвертое и пятое редактирование разных файлов, в то время как шестой был измельчен через мою машину, пытаясь записать имена каждого файла в системе. Зачем? Потому что это удобно для поиска в таком архиве, если вы хотите знать, где найти объект по имени файла.

Когда вы это сделаете, вы получите множество окон в панели управления с именем просто "bash." Это нормально, если у вас есть только один из них, но это мучение, когда у вас есть 6 или более.... и еще два десятка других вещей. у меня есть три мониторы под одновременной командой одной пары клавиатура/мышь, и я все еще чувствуйте потребность в большем количестве. Каждое из этих окон имеет несколько терминалов bash.

Итак, я собрал это вместе. Во-первых, поместите эти строки в свои .bash_profile:

  export PROMPT_COMMAND='export TRIM=`~/bin/trim.pl`'
  export PS1="\[\e]0;\$TRIM\a\]\$TRIM> "
  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

Я прошел и написал десятки параграфов о том, как все это работает и точно почему он настроен так, как есть, но вас это не очень интересует. Доверьтесь мне. Существует целая глава книги о том, почему я сделал "CMD = ...; echo..." на этом третья строка. Многие люди (включая bluehost, где находится мой другой домен) все еще используют и старую версию bash с основными ошибками в том, как она обрабатывает ловушки, поэтому мы застряли с этим. Вы можете удалить CMD и заменить его на $ BASH_COMMAND, если вы используете текущую версию bash и чувствуете, что делаете исследование.

В любом случае, первый script, который я использую, здесь. Он создает приятное приглашение, содержащее имя и каталог вашего компьютера, сокращенные до разумной длины:

                       ============trim.pl===========
  #!/usr/bin/perl

  #It seems that my cygwin box doesn't have HOSTNAME available in the 
  #environment - at least not to scripts - so I'm getting it elsewhere.
  open (IN, "/usr/bin/hostname|");
  $hostname = <IN>;
  close (IN);
  $hostname =~ /^([A-Za-z0-9-]*)/;
  $host_short = $1;

  $preamble = "..." if (length($ENV{"PWD"})>37);

  $ENV{"PWD"} =~ /(.{1,37}$)/;
  $path_short = $1;

  print "$host_short: $preamble$path_short";

                        ==============================

В верхней части этого сообщения в блоге есть предупреждение, которое вы должны прочитать сейчас вы начинаете задавать глупые вопросы типа "Почему вы просто не использовали HOSTNAME переменная среды через @ENV? "Простая: поскольку это не работает для всех систем, которые я пробовал.

Теперь для действительно крутого бит. Помните строку 3 добавления .bash_profile?

  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

Отбрасывает вывод trim.pl script в том же контейнере, что и раньше, печать как в командной строке, так и в заголовке окна, но на этот раз она добавляет команда, которую вы только что набрали! Вот почему вы не хотите делать все из этого в вашем .bashrc: любой script, который вы запускаете (на моей машине, человек один из них) будет запускать эту вещь на каждой строке. выход человека серьезно искажается что мы делаем здесь. Мы не очень хорошо играем с терминалом.

Чтобы захватить команду, которую вы только что набрали, мы берем историю bash и играем в кости бит:

                        ===========hist.pl============
#!/usr/bin/perl

while (<STDIN>)
{
        $line = $_
}

chomp $line;
$line =~ /^.{27}(.*)/;
print $1;
                        ==============================

Итак, теперь у меня есть bazillion windows going, и они говорят такие вещи, как:

  castro: /home/ronb blog
  Ron-D630: /C/ronb/rails/depot script/server
  Ron-D630: /C/ronb/rails/depot mysql -u ron -p
  Ron-D630: /C/ronb/rails/depot find . > /C/ronb/system.map
  Ron-D630: /C/ronb/rails/depot vi app/views/cart.html.erb
  Ron-D630: /C/perforce/depot/ p4 protect
  Ron-D630: /C/perforce/depot/ p4 sync -f
  Ron-D630: /C/perforce/depot/

Из счастливого маленького бара в нижней части экрана я могу теперь сказать, что который на мгновение заглядывает. И поскольку мы установили PS1, как только команда завершает выполнение, имя команды заменяется только выходом trim.pl еще раз.

ОБНОВЛЕНИЕ (в тот же день): Этот материал (записи .bash_profile) наложил на меня все виды ада, когда я попробовал это в моем .bashrc. Ваш .bashrc выполняется неинтерактивными скриптами всякий раз, когда вы вызываете bash в качестве языка. Я ударил это, когда я пытался использовать человек. Все виды мусора (полный текст моего .bashrc, плюс побег charecters) появился вверху страницы руководства. Я бы предложил тестирование этот драгоценный камень с быстрым вызовом "человек" в командной строке, как только вы получите все это вместе.

Думаю, мне пора вытащить пользовательский мусор из моего .bashrc и поставить где он принадлежит...

В принципе, я обнаружил, что набираю "человеческую ловушку" в какой-то момент этого процесса.

Ответ 19

#! /bin/bash
# check to see if site is up
#   if it is, don't worry
#   if it down, restart apache after get a process listing
#
# v.1 Warren M Myers - initial stab
#     31 Aug 06
#

ERRCOD='7'
WHEN=`date +%d%b%y`
REPT="~/psaux.$WHEN.txt"
STARS='********************'

curl -I http://www.shodor.org > /var/tmp/curlret.txt

if [ "$?" = "$ERRCOD" ]; then
    # return was unable to connect to host: save ps -aux; mail report
    ps -aux > $REPT
    echo $STARS
    echo 'curl return results'
    echo
    cat curlret.txt
    echo
    echo $STARS
    echo 'ps -aux results'
    cat $REPT
    echo
    echo $STARS
    echo 'restarting apache'
    /etc/init.d/apache2 restart
    echo 'apache restarted'
    echo
    echo "ps -aux results saved in $REPT"
fi

rm -f /var/tmp/curlret.txt

Ответ 20

A Greasemonkey script, чтобы добавить блок управления "нажмите эту кнопку много" в онлайн-игру.

Ответ 21

Быстрый и грязный Python script, который каждые 5 секунд искал DNS для google.com и раздавал один раз, если он преуспел, и дважды, если он не удался.

Я написал это в то время, когда мне пришлось жить с очень раздробленной домашней сетью. Это позволило мне мгновенно узнать состояние сети, даже когда я стоял первым под столом по комнате, обеими руками, пропитанными сетевым кабелем и фонариком во рту.

Ответ 22

Раньше я работал в технологическом летнем лагере, и нам приходилось составлять эти рецензии для каждого из ребят в группе в конце недели, которые они затем получили и забрали домой как подарок на память. Обычно они состояли из кучи родовых предложений и от одного до двух персонализированных предложений. Я написал python script, который построил одну из этих рецензий из банка консервированных предложений и позволил пользователю добавить пару персонализированных предложений в середине. Это сэкономило огромное количество времени для меня и других консультантов, которые я впустил в тайну. Несмотря на то, что большая часть из них была автоматизирована, наши рецензии по-прежнему выглядели лучше, чем многие из "честных", потому что мы могли уделять больше времени персонализированным частям.

Ответ 23

На моем предыдущем рабочем месте рабочие часы были смешными. Это была софтверная компания, и мой босс был втянут. Он дал бы нам работу примерно в 17:30 (прямо сейчас, когда пришло время вернуться домой), и заставил нас закончить работу до 11:00 вечера (пройдя наши идеальные часы работы). Или он найдет раздражающие проблемы в коде, который все еще продолжается.

Итак, я сделал пакетный файл и script, который бы выключил мой компьютер в случайное время между 7:00 и 20:00. У этого был 1-минутный таймер, на случай, если я останусь после нескольких часов и должен прервать процесс выключения.

Но я оставил бы свой стол до 17:00, чтобы он не смог найти меня, чтобы держать меня, если он захочет сбросить дерьмо за время проверки. Если бы он подошел к моему столу и посмотрел на мой компьютер, он подумал бы, что я все еще вокруг кладовой или на соседнем миникарте, чтобы захватить некоторые фишки или что-то в этом роде. Но если бы это было около того времени, он позвонил бы моему мобильному телефону и сказал бы мне вернуться в офис.

Я также назначил BIOS на своей машине, чтобы включить мою машину в режиме около 8:00 утра или 9:00 утра, если бы я чувствовал себя ленивым и хотел прогуляться около 10:00 или 11:00. Если меня поймают, идущего к моему столу, он спросит: "Где вы были все утро?" И я бы сказал: "Я был на встрече с маркетинговой командой". или "Я завтракал".

немой собака

Ответ 24

Немного script, который отслеживает некоторые популярные сайты для объявлений, которые соответствуют моим навыкам, и напишите мне электронное письмо.

Ответ 25

Я использую это как функцию автозагрузки. Я могу просто набрать "mycd", и появится список каталогов, к которым я часто подключаюсь. Если я узнаю тогда номер, я могу просто сказать что-то вроде "mycd 2". Чтобы добавить каталог в список, просто введите "mycd/tmp/foo/somedirectory".

function mycd {

MYCD=/tmp/mycd.txt
touch ${MYCD}

typeset -i x
typeset -i ITEM_NO
typeset -i i
x=0

if [[ -n "${1}" ]]; then
   if [[ -d "${1}" ]]; then
      print "${1}" >> ${MYCD}
      sort -u ${MYCD} > ${MYCD}.tmp
      mv ${MYCD}.tmp ${MYCD}
      FOLDER=${1}
   else
      i=${1}
      FOLDER=$(sed -n "${i}p" ${MYCD})
   fi
fi

if [[ -z "${1}" ]]; then
   print ""
   cat ${MYCD} | while read f; do
      x=$(expr ${x} + 1)
      print "${x}. ${f}"
   done
   print "\nSelect #"
   read ITEM_NO
   FOLDER=$(sed -n "${ITEM_NO}p" ${MYCD})
fi

if [[ -d "${FOLDER}" ]]; then
   cd ${FOLDER}
fi

}

Ответ 26

Оболочка script для выполнения вращающихся резервных копий с использованием rsync. Он также поддерживает выполнение произвольных дочерних программ для поддержки других операций предварительного резервного копирования (например, загрузка вкусных закладок).

http://gist.github.com/6806

Ответ 27

Мне нравится хранить мои фотографии в каталоге на основе даты, когда была сделана фотография. Поэтому я написал программу, которая будет сканировать карту памяти для изображений, создавать любые папки на моем жестком диске, которые должны были быть основаны на датах изображений, а затем копировать их.

Ответ 28

Различные сочетания клавиш для команд "net start" и "net stop", поэтому я могу запускать и останавливать службы, не входя в MMC Services

Ответ 29

Небольшое приложение, которое нажимает (или дважды щелкает) каждый "X" ms для "Y" времени. Больше нет необходимости в том, чтобы эта питьевая птица работала на атомной электростанции!;)

Ответ 30

Резервное копирование MySQL. Я сделал пакет Windows script, который создавал бы инкрементные резервные копии баз данных MySQL, каждый день создавал свежий дамп и каждые 10 минут поддерживал их на удаленном сервере. Это спасло мою задницу бесчисленное количество раз, особенно в бесчисленных ситуациях, когда клиент звонил, и кричал головой, что запись просто "исчезла" из базы данных. Я пошел "не проблема, посмотрим, что произошло", потому что я также написал двоичный поиск script, который будет искать последний момент, когда запись присутствовала в базе данных. Оттуда было бы довольно легко понять, кто "украл" его и почему.
Вы не представляете, насколько они полезны, и я использую их почти 5 лет. Я бы не переключился на что-то еще просто потому, что они были грубо проверены, и они выполнены на заказ, а это означает, что они делают именно то, что мне нужно, и не более того, но я их так сильно изменил, что было бы неплохо добавить дополнительные функциональности.
Итак, мой "шедевр" - это инкрементная резервная копия + удаленная резервная копия MySQL + система поиска журналов для Windows. Я также написал версию для Linux, но я ее где-то потерял, вероятно, потому, что это было всего около 15 строк + задание cron вместо Windows "около 1200 строк + две запланированные задачи.