Счастье с VBS

В очередной раз порадовался наличию поддержки VBS в ХРюше.

Буквально недавно встала, с одной стороны, тривиальная задача – переместить около 100 папок с одного места в другое, но не все сразу, а по одной, максимум две с интервалами 7-10 минут. К чему такие сложности? Дело в том, что целевая папка мониторится самописной софтиной, которая при появлении новых папок дергает ftp.exe с необходимыми ключами и, соответственно, заливает файло на некий ftp-сервер. Естественно единовременное перемещение всех папок повлечет за собой легкий коллапс 🙂 тем паче, что больше 2-3 потоков на аплод сервер не потянет.

На дворе 3 часа ночи, после того, как вручную перенес семь папок терпение лопнуло и был написан маленький скрипт, несколько строк  на vbs, который в цикле подхватывал имена папок, перемещал их в целевую папку, а потом засыпал на 10 минут. На утро проверил логи сервера. Наступила благодать.

Set objFSO = CreateObject(“Scripting.FileSystemObject”)
Set objFolder = objFSO.GetFolder(“source_folder_path”)
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder in colSubfolders
objFSO.MoveFolder “source_folder_path”+objSubfolder.Name , “target_folder_path”
Wscript.Sleep(600000)
Next

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

Да и вообще VBS изрядно облегчает жизнь в ряде случаев.

Оставить комментарий