Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
TAHKill
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 24
1

Копирование файла с локального компьютера на SFTP-сервер и последующая обработка файлов

03.12.2015, 11:39. Просмотров 1601. Ответов 5
Метки нет (Все метки)

доброе время суток и сразу к делу
-есть локальный компьютер
-есть sftp сервер
цель - проверить есть ли нужный файл на локальном компьютере - копировать файл с локального компа на сфтп сервер - переименовать его там с формой YYYYMMDDhhmmss - после этого оригинал файла заархивировать - вести лог всех действий
сначала сделал батник
Windows Batch file
1
psftp.exe -v -C -2 -b sftp.scr admin@IP_сфтпшника -pw пароль
затем создал скрипт sftp.scr:
Код
cd /home/admin
put c:\нужный файл
bye
проблема получается если хочу переименовать с датой к названию файла формата YYYYMMDDhhmmss
раньше без фтп получалось так:
Windows Batch file
1
2
3
4
5
6
rem Estimate date/time in format YYYYMMDD_hhmmss
set now=%TIME:~0,-3%
set now=%now::=%
set now=%now: =0%
set now=%DATE:~-4DATE:~3,2DATE:~0,2%%now%
ren староеимя новоеимя_%now%
скорее всего надо как-то заменить cmd команды на фтпшные, ren на mv, а остальные?
сам не часто пишу батники,уже голова кружится все перепробовал, буду очень благодарен за помощь

Добавлено через 15 часов 6 минут
итак осталось две задачи:
- не получается скопировать файлы с локального компа на sftp сервер по имени в виде namefile*
- не пишет лог того что делает. добавляю в конце батника >> test.txt и там пусто
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2015, 11:39
Ответы с готовыми решениями:

Загрузка файлов на FTP-сервер с удалением каждого файла с локального диска сразу по завершении его передачи
есть n-ое количество файлов в папке, как прописать код, чтобы за один цикл файлы загружались на ftp...

Перенос файла с локального диска на сервер SFTP
Доброго дня, подскажите пожалуйста, может у кого есть решение проблемы по переносу файла на SFTP...

Загрузка файлов на сервер с локального компьютера.
ГОСПОДА ЗНАЮЩИЕ ЭТУ ТЕМУ ПОМОГИТЕ НОВИЧКУ ПОЖАЛУЙСТА!!!! МНЕ НАДО ОРГАНИЗОВАТЬ ЗАГРУЗКУ ФАЙЛА С...

Загрузка файлов на сервер с помощью SFTP, на третьем этапе ошибка
Добрый день. выполняю загрузку файла на сервер следующим образом: dynamic ssh =...

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

5
volodin661
Заблокирован
04.12.2015, 07:31 2
Цитата Сообщение от TAHKill Посмотреть сообщение
не получается скопировать файлы с локального компа на sftp сервер по имени в виде namefile*
не мучь себя, просто сгенери .scr file используя что-нить типа
Windows Batch file
1
for %x in ( namefile* ) do @echo put %x >>file.scr
для лога может сгодится ключ psftp -bc ?
0
TAHKill
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 24
04.12.2015, 10:23  [ТС] 3
почти все получилось
осталось только такая проблема
надо чтобы в папке2 брался последний добавленный файл и копировался в папку1
я так понял используют forfiles как-то
ну и логирование не хочет вестись
обычное >>test.txt
не помогает

Добавлено через 1 час 55 минут
да помогите же
Windows Batch file
1
forfiles /P f:\ /M part* /D -1 %DATE% /C "cmd /c copy @file c:\ "
эта штука не понятно куда копирует, в c:\ нет файлов, хотя пишет что скопировал
а если поставить например c:\1\ то файлы появляются!
и как сделать так, чтобы копировались только самый последний по дате создания файл part* из f:\ ?
0
TAHKill
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 24
10.12.2015, 15:25  [ТС] 4
Все получилось!!!
Но смущают окна от winscp когда качает
echo off не помогает
как сделать, чтобы не появлялись?

Добавлено через 23 часа 17 минут
всё решил
если надо скопировать самый свежий файл по дате создания, например .xml и скопировать в архив, то делаем так:
Windows Batch file
1
2
3
SetLocal EnableExtensions
 for /F "delims=" %%i in ('dir /OD /B /tc путьдофайла\*.xml') do set last=%%i
 copy "путьдофайла\%last%" путьдоархива\*.xml
чтобы окна не появлялись при использовании winscp.exe - убираем параметр /console из строки

чтобы переместить файл, который используется временно делаем так:
Windows Batch file
1
2
3
:retry
 move путьдофайл\*.xml путьдоархива\
 if exist путьдофайла\*.xml goto retry
Добавлено через 6 часов 50 минут
не понимаю почему пишет синтаксическая ошибка
Windows Batch file
1
2
3
 :retry
 move путьдофайл\*.tmp путьдоархива\.xml
 if exist путьдофайла\*.tmp goto retry
?????????
0
b0gus
271 / 170 / 73
Регистрация: 17.03.2014
Сообщений: 493
10.12.2015, 19:02 5
Цитата Сообщение от TAHKill Посмотреть сообщение
не понимаю почему пишет синтаксическая ошибка
может, так следует написать?
Windows Batch file
2
move путьдофайл\*.tmp путьдоархива\*.xml
1
TAHKill
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 24
11.12.2015, 07:23  [ТС] 6
не, это я здесь случайно удалил *
оказывается move не может по расширениям нормально работать
решено делать так
Windows Batch file
1
2
3
4
:retry
 copy /z путьдофайл\*.tmp путьдоархива\*.xml
 del путьдофайл\*.tmp
 if exist путьдофайла\*.tmp goto retry


 Комментарий модератора 
TAHKill, я уже в четвёртом Вашем сообщении проставляю теги форматирования кода.

Обратите наконец-то внимание на "Причину редактирования" и оформляйте код рекомендованными тегами.
0
11.12.2015, 07:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2015, 07:23

Заполнение файла случайными числами и его последующая обработка
Заполнение файла случайными числами и его последующая обработка. Заполнить двоичный файл N...

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

Заполнение файла случайными числами и его последующая обработка
Добрый день! Необходима помощь в задании. "Заполнить текстовый файл целыми числами, полученными с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru