Страница 35 из 42

Добавлено: Пт фев 07, 2014 09:48
_92
нужен скрипт для автоматического переименования файла на ftp
index.php -> index.php.140207

сейчас просто копирую index.php на жесткий диск
добавляю в конец .ггммчч
копирую этот файла на ftp
получаю на ftp index.php и index.php.140207

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

Добавлено: Пт фев 07, 2014 10:29
Serge Yolkin
_92
У ftp.exe (в составе Windows) есть команда rename.

Добавлено: Пт фев 07, 2014 10:48
_92
Serge Yolkin писал(а):У ftp.exe (в составе Windows) есть команда rename.
а как связать ftp.exe с логином/паролем из tc (мастер-пароль)?

Добавлено: Сб фев 08, 2014 11:02
Flasher
_92
ТС тут ни при чём. С ним связывать нужно только ftp-адрес имеющимися в ТС параметрами, а логин с паролем прописать заведомо.

Добавлено: Сб фев 08, 2014 14:09
_92
Flasher писал(а):логин с паролем прописать заведомо.
т.е. в bat или cmd нужно тогда будет в открытом виде прописать user [username] [password]?

Добавлено: Сб фев 08, 2014 14:23
Flasher
_92
Можно bat и в exe скомпилить, если есть страх за потерю данных.

Добавлено: Сб фев 08, 2014 14:56
_92
способ безопасный конечно, но у меня уже около пятиста фтп-аккаунтов

Добавлено: Сб фев 08, 2014 15:00
Flasher
500? Ух, ничего себе. Тогда весь список можно запихать в этот батник и сопоставлять по адресу.

Добавлено: Пт май 30, 2014 08:41
garmonist
Здравствуйте. Подскажите, пожалуйста, параметры кнопки, которая бы делала следующее:

Выделен файл \\server\SomePath\FileName.xlsx. При нажатии кнопки в соседнем окне TC открывалась бы папка D:\Backup\SomePath\.

Заранее благодарен за помощь.

Добавлено: Пт май 30, 2014 09:57
Flasher
garmonist
Что-то вроде того (см. путь к TCFS2):

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

' Параметр: %V
TCFS2 = "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"
Path = WScript.Arguments(0)
With CreateObject("Scripting.FileSystemObject")
 If .FileExists(Path) Then Path = .GetParentFolderName(Path)
End With : Path = Mid(Path, InStr(Path, "\\") + 2)
CreateObject("WScript.Shell").Exec TCFS2 & " /ef ""tcd(,`D:\Backup" & _
Mid(Path, InStr(Path, "\")) & "`,S)"""
Только не соседнее окно, а другая панель. Если же разговор про новую соседнюю вкладку, то там пару символов исправить нужно.

Добавлено: Пт май 30, 2014 10:57
garmonist
Flasher
Спасибо. То, что нужно, всё получилось.

Добавлено: Пт май 30, 2014 11:10
Flasher
garmonist
А для чего это? Может, убить нескольких зайцев?
Вот ещё без параметра вариант:

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

' Условие: путь запуска - пустой
TCFS2 = "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"
With CreateObject("WScript.Shell")
  Path = .CurrentDirectory : Path = Mid(Path, InStr(Path, "\\") + 2)
  .Exec TCFS2 & "/ef ""tcd(,`D:\Backup" & Mid(Path, InStr(Path, "\")) & "\`,S)"""
End With
Только тут само выделение, как впрочем и в первом случае, роли не играет.

Добавлено: Пт май 30, 2014 12:21
garmonist
Flasher
У меня программа ViceVersa делает зеркальный бэкап сервера на локалку. Если файл на сервере изменен, то она не просто заменяет старый файл на локалке на новый, а старый копирует в отдельный папку с архивом, добавляя ему в название время сохранения.

Например, у меня есть файл на сервере:

x:\02 Процессы\01 Прогноз\2014\05.25\Анализ.xlsx

В зеркальном бэкапе на локалке хранится точно такой же файл:

d:\X\02 Процессы\01 Прогноз\2014\05.25\Анализ.xlsx

После того, как я поработал в этом файле на сервере и сохранил его, ViceVersa синхронизировала сервер с локалкой: заменила на локалке старый файл на новый. А старый файл с локалки скинула в архив и переименовала:

d:\ViceVersaArchive\D\X\02 Процессы\01 Прогноз\2014\05.25\Анализ.xlsx_(2014-05-28_18-11-49_OVE_T).xlsx

Таким образом, у меня в папке с архивом (d:\ViceVersaArchive) есть все версии каждого файла с сервера.

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

Добавлено: Пт май 30, 2014 12:35
Flasher
garmonist
А ViceVersa резидентно работает? Или нужно из неё самостоятельно запускать синхронизацию?

Добавлено: Пт май 30, 2014 13:09
garmonist
Flasher
Самостоятельно. Но для ее автоматизации есть софт от того же разработчика - VVEngine. Позволяет запускать синхронизацию по времени, через одинаковые промежутки времени или когда файлы в папке-источнике изменились.