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

Как по FTP передать файл с именем, основанном на значении переменной DATE?

31.01.2017, 11:38. Просмотров 524. Ответов 3
Метки нет (Все метки)

Всем привет. Необходимо содержимое папки запаковать в архив, далее залить его на фтп.
Windows Batch file
1
2
3
@Echo Off
"C:\Program Files\7-Zip\7z" a -tzip -ssw -mx7 -r0 C:\Backuptest\%date:~0,2%_%date:~3,2%_%date:~6,4%.zip "C:\test\*.*"
ftp -i -n -s:C:\2.txt
Вот содержание 2.txt
Код
open 10.0.0.1
USER usr
pswd
cd pub
bin
put C:\Backuptest\%date:~0,2%_%date:~3,2%_%date:~6,4%.zip
Дело в том что ftp.exe %date:~0,2%_%date:~3,2%_%date:~6,4%.zip воспринимает как название папки. А мне нужно залить именно папку с текущей датой. Можете как-то помочь с этим?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2017, 11:38
Ответы с готовыми решениями:

Не вставляется значение переменной DATE в FTP-запросе
В 6-й строчке не вставляется дата (%date%). Как это можно исправить? файл "download.bat" ftp -i...

Как передать файл через http на ftp
Как выложить файл с помощью http (у меня ftp закрыт) на другой ftp сервер

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

Как передать текстовый файл на сервер через FTP?
Здравствуйте! Пишу одну программку, смысл в том, что данные введённые пользователем записываются в...

Как при значении переменной 101 и выше установить значение переменной на 100?
Я в C# новичок. Подскажите пожалуйста, как можно сделать чтобы когда значение переменной было 101 и...

3
alpap
1884 / 1382 / 455
Регистрация: 26.04.2015
Сообщений: 4,691
31.01.2017, 15:17 2
o8o8o2,
Для надежности передать все параметрами, а там видно будет:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
set "arx=C:\Program Files\7-Zip\7z"
set "par=a -tzip -ssw -mx7 -r0"
set "in=C:\test\*.*"
set "out=C:\Backuptest\%date:~0,2%_%date:~3,2%_%date:~6,4%.zip"
call :# "%arx%" "%par%" "%out%" "%in%"
pause& exit
 
:#
 echo "%~1" %~2 "%~3" "%~4"
exit /b
0
ComSpec
3409 / 1953 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
01.02.2017, 03:23 3
Цитата Сообщение от o8o8o2 Посмотреть сообщение
Дело в том что ftp.exe %date:~0,2%_%date:~3,2%_%date:~6,4%.zip воспринимает как название папки. А мне нужно залить именно папку с текущей датой.


В этом случае не надо заранее писать команды в текстовый файл. Пусть он будет изначально пустой.
Пакетный файл сам должен записывать (а при следующих его запусках — перезаписывать) нужные команды в этот файл:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
 
"C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 -r0 "C:\Backuptest\%date:~0,2%_%date:~3,2%_%date:~6,4%.zip" "C:\test\*.*"
 
>"C:\2.txt" (
 echo open 10.0.0.1
 echo USER usr
 echo pswd
 echo cd pub
 echo bin
 echo put "C:\Backuptest\%date:~0,2%_%date:~3,2%_%date:~6,4%.zip"
 echo quit
)
 
ftp -i -n -s:"C:\2.txt"
.
1
o8o8o2
0 / 0 / 0
Регистрация: 31.01.2017
Сообщений: 2
01.02.2017, 16:00  [ТС] 4
Подольше полазал по форуму и собрал вот такого франкенштейна.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
"C:\Program Files\7-Zip\7z" a -tzip -ssw -mx7 -r0 C:\Backuptest\%date:~0,2%_%date:~3,2%_%date:~6,4%.zip "C:\test\*.*"
netsh.exe firewall add allowedprogram program="%windir%\system32\ftp.exe" name="FTP Manager" profile=all > nul
echo open 10.0.0.1 > "%temp%\ftp_c.txt"
echo user usr pswd » "%temp%\ftp_c.txt"
echo cd pub » "%temp%\ftp_c.txt"
echo bin » "%temp%\ftp_c.txt"
echo put "C:/Backuptest/%date:~0,2%_%date:~3,2%_%date:~6,4%.zip"» "%temp%\ftp_c.txt"
echo close » "%temp%\ftp_c.txt"
echo quit » "%temp%\ftp_c.txt"
start /b /wait ftp.exe -i -n -s:"%temp%\ftp_c.txt"
del /a /f /q "%temp%\ftp_c.txt"
netsh.exe firewall delete allowedprogram program="%windir%\system32\ftp.exe" profile=all > nul
exit
В таком виде все работает. Но если есть возможность как-то улучшить, то было бы круто)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2017, 16:00

Как передать файлы по мейлу, mail, передача файлов без ftp сервера, некрупный файл, из определённой папки C#
Здравствуйте, подскажите пожалуйста как отправить файл из конкретной папки через mail при нажатии...

Как обратиться к переменной, если после функции тебе дали строку, с именем переменной
Допустим есть Function Generation():String; там генерируется строка, с именем нашего обьекта(имя...

Можно ли с помощью ExcelVB передать файл прямо на ftp-сервер?
и если да, то как произвести авторизацию?


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

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

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