Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 25

Закачивание файла с сервера через bat-файл

16.06.2016, 11:25. Показов 3805. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Недавно начал изучать CMD, написал бат-файлик но работает через раз.

Есть батник который должен выкачивать файлик с портала SharePoint командой.
Windows Batch file
1
@if exist C:\AK\%fil% ( ERASE  C:\AK\%fil% /Q & robocopy %wau% C:\AK %fil% /Z /R:3 /W:10)  else ( robocopy %wau% C:\AK %fil% /Z /R:3 /W:10 & )
(Строка проверяет существует ли файл, удаляет его при наличии и скачивает актуальную версию с портала)

где
Windows Batch file
1
set wau=\\portal\ХХХ\ХХХ\Shared%%20Documents\AK
путь к файлу

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

Пока портал не появится в сетевом окружении файлик ругается и говорит что такого пути нет, после его появления все работает прекрасно.

Подскажите как можно это вылечить!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.06.2016, 11:25
Ответы с готовыми решениями:

Помогите с запуском bat-файла через bat-файл
Расклад таков: 1. У меня есть bat файл(help.bat). 2. Нужно написать ещё один чтобы он запускал help.bat в новом окне и небыл зависим от...

Один bat-файл запускает по очереди два других bat-файла
Имеются две папки в одной драйвера в второй программы решил сделать установку этого хозяйства с командной строки в автоматическом режиме....

Запись команд из одного bat-файла в другой bat-файл
Предположил что: в 1 bat: echo echo my_text >> my_file >> new.bat и хотел что бы получилось так в new.bat : echo my_text >>...

9
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
16.06.2016, 12:41
Вопрос 1
Цитата Сообщение от Ylmo Посмотреть сообщение
если ввести его адрес
совпадает с set wau=\\portal\ХХХ\ХХХ\Shared%%20Documents \AK?
Вопрос 2
Код рабочий - ?, если путь есть.
Вопрос 3
Цитата Сообщение от Ylmo Посмотреть сообщение
Подскажите как можно это вылечить!
заставить путь появиться?
Вопрос 4
что это "%%20" в пути.
1
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
16.06.2016, 13:37
Цитата Сообщение от Ylmo Посмотреть сообщение
проверяет существует ли файл, удаляет его при наличии и скачивает актуальную версию с портала
Ylmo, посмотрите в сторону wget, ключ -N.

Добавлено через 2 минуты
Windows Batch file
1
wget.exe -N -P "Путь к директории с файлом" "%url%"
1
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 25
16.06.2016, 14:38  [ТС]
Отвечаю не по порядку)))
4. "%20" это пробел у уникоде, где один символ "%" экранирует другой. С обычным пробелом естественно считает за две ссылки и выдает ошибку.
так что
1. в адрес ввожу без одного знака "%" и все работает
и
2. код сам по себе работает если путь есть
а вот
3. как заставить путь появиться (кроме как руками) мне , дилетанту, в голову не приходит. А жаль. Думаю, это бы решило проблему.

Добавлено через 26 минут
"wget" посмотрел, хорошая штука, но его придется устанавливать на машины пользователей (ибо Винда), а прав мне на это, боюсь, никто не даст.
Хотелось бы обойтись "robocopy".
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
16.06.2016, 14:51
Ну добавьте вначале еще:
Windows Batch file
1
if exist %wau% ...
Добавлено через 7 минут
А кодом пользователи будут пользоваться или вы...

Добавлено через 46 секунд
Это в сторону wget высказывание.
0
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 25
16.06.2016, 15:32  [ТС]
Пользователь нажимает на ярлык на рабочем столе который ведет его не напрямую к файлу, а к батнику который сохраняет файл на компе в резервную копию и закачивает актуальную версию файла из сети.

Добавлено через 2 минуты
... и сразу открывает

Добавлено через 4 минуты
Файл - оболочка БД в Аксесе.
Идея в том, что бы не бегать по пользователям при каждом изменении оболочки, не дергать их и себя.
При наличии изменений новый файл просто выкладывается на сервер и пользователь его сам того не зная актуализирует оболочку при первом же открытии.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
16.06.2016, 16:24
И какие проблемы тогда кинуть wget где-то рядом с bat и указать в нем путь к wget, причем тут пользователи и права, все нити у вас, у пользователей ярлыки, все вроде замечательно.
0
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 25
17.06.2016, 15:10  [ТС]
Пошел простым путем: открыл папку с портала в проводнике
Windows Batch file
1
start "" "\\portal\XXX\XXX"
Думает долго но работает, однако возникает предсказуемая проблема: папку надо закрыть.
Команда
Windows Batch file
1
echo <Alt>+<F4>
закрывает командную строку хотя в этот момент активна папка,
Windows Batch file
1
taskkill /F /FI "WindowTitle eq mmvs"
не реагирует. Говорит "Задача отсутствует".

Очень мне не хотелось связываться со сторонними программами, но я все таки попробовал.
Оказалось, что wget хочет связываться со мной ещё меньше)))
+Предвижу косяки из-за разницы в разрядности ОС (у меня 64, а сколько у пользователей - неизвестно)
wget работает. Хэлпы покурил, но как им пользоваться я не понял.

Windows Batch file
1
"C:\ХХХ\ХХХ\wget64.exe" -N -P    "\\portal\ХХХ\ХХХ\Shared%%20Documents\AK\AK.accdb" "%url%"
Ругается что Http:\\: invalid host name как с "%%20", так и с пробелом. Чую что проблема в "%url%" но как её лечить не понимаю.
Попробовал поиграть аргументами - выдает ошибки. Например без -р "Запрошенное имя верно, но данные запрошенного типа не найдены".
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
17.06.2016, 17:50
Ylmo,
Я думаю, разрешат использовать здесь powershell, если возникает необходимость, просто я лично скачиваю файлы так, если есть в этом необходимость, а поможет ли это вам?
Windows Batch file
1
2
3
4
@echo off
set "pt=http://www.nirsoft.net/utils/awatch.zip"
for %%a in ("%pt%") do powershell "$wc=New-Object System.Net.WebClient;$wc.DownloadFile('%%~a','%Userprofile%\Desktop\%%~nxa')"
pause>nul
просто пример, но рабочий, можете именно его запустить для проверки.
0
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 25
22.06.2016, 13:51  [ТС]
Большое спасибо, alpap!
Powershell дело хорошее, но я его пока не знаю, а на освоение пока не хватает времени.
Тем более что "robocopy" меня устраивает, проблема в том что нужно сначала "увидеть" сетевой ресурс а уже потом применить его.

В связи с чем решил превратить баг в фичу)))
В той же папке разместил маленький рисунок (когда будет время он станет большим приветственным логотипом).
Windows Batch file
1
start "" "\\portal\XXX\XXX\Shared Documents\AK\dbicon.ico"
открывает картинку заставляя компьютер попутно увидеть сетевой ресурс
Windows Batch file
1
@if exist C:\AK\%fil% ( ERASE  C:\AK\%fil% /Q & robocopy %wau% C:\AK %fil% /Z /R:3 /W:10)  else ( robocopy %wau% C:\AK %fil% /Z /R:3 /W:10 & )
(тут ничего не поменялось) Качает оболочку базы (замечу что сетевой ресурс притормаживает и работать напрямую без скачивания невозможно)
Windows Batch file
1
TASKKILL /F /FI "WINDOWTITLE eq dbicon*"
закрывает логотип (рисунок).

Дальше оболочка прекрасно открывается и управление передаётся пользователю.
Пусть не элегантно но работает без сбоев.
Профит.

Считаю что тему на этом можно закрывать.
Всем спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.06.2016, 13:51
Помогаю со студенческими работами здесь

Создать bat-файл при помощи другого bat-файла
Добрый вечер всем форумчанам! Прошу помощи... Решил заморочиться и создать bat файл при помощи другого bat файла Все шло нормально...

Запуск сервера через bat, в окружении локалке
Доброе утро господа...! Требуется батник с трёма командами D: cd Сloud\YandexDisk\Ghost\ghost-0.5.7 npm start И при...

Неправильно работает EXE-файл, скомпилированный из BAT-файла с помощью программы Bat To Exe Converter
Сдрасте люди, я пришел к вам с того самого мира, или как то так У меня уже мозги кипят на малекулярном уровне, вот что за ? ...

BAT-файл для скачивания нескольких файлов с FTP-сервера
Help. Помогите с батником пожалуйста. С FTP сервера необходимо скачивать несколько файлов из определенной папки, на локальный...

Как правильно задать имя сервера в команде файла bat
Здравствуйте! Мне надо скопировать файлы по маске *.png из одной папки сервера в другую папку. При этом файл bat запускается с локального...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru