[Quote]

    wert
  • 23213
  • Longevity: 2 years 8 months
  • Posts: 77
  • REPUTATION:1

    [+] [-]
dimo70, wget –-ftp-user=dan ––ftp-password=********* FTP-URL

[Quote]

    dimo70
  • 17296
  • Longevity: 4 years 8 months
  • Posts: 3511
  • REPUTATION:41

    [+] [-]
  • Location: BG
JuraAD, wert, спасибо за предложения. Я wget знаю.
Хотелось сделать без сторонних утилит, т.е команд файл или VBS, чтоб размер был минимальный. Проверю FTP команду за начало. У меня есть скрипт VBS на скачки через HTTPS и думал что есть подобный вариант и для FTP. aa

[Quote]

    wert
  • 23213
  • Longevity: 2 years 8 months
  • Posts: 77
  • REPUTATION:1

    [+] [-]
dimo70, прив
dim cn, rs, strComp
dim fso, tf, fn, rc, tnam
dim count, sa
Dim ogwApp, ogwRootAcct, ogwNewMessage
'качаем список файлов
Set sh = CreateObject("wscript.shell")
Ft = "ftp.exe -s:" + chr(34) + "d:\_EPI\FTP_SCRIPT\urb.txt" + chr(34) + " 10.10.1.3"
sh.Run Ft, 0, -1
Set sh = Nothing
'качаем список файлов ftp2
Set sh = CreateObject("wscript.shell")
Ft = "ftp.exe -s:" + chr(34) + "d:\_EPI\FTP_SCRIPT\big.txt" + chr(34) + " 10.10.1.2"
sh.Run Ft, 0, -1
Set sh = Nothing
'выбираем новые
set cn = CreateObject("ADODB.Connection")
cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\_EPI\FTP_SCRIPT\ftp.mdb"
cn.open
set rs = CreateObject("ADODB.Recordset")
rs.CursorType = 3
rs.LockType = 3
rs.Open "SELECT t0802_UrbNew.File FROM t0802_UrbNew LEFT JOIN t0801_UrbDown ON t0802_UrbNew.File = t0801_UrbDown.fileO WHERE (((t0801_UrbDown.fileO) Is Null));",cn
'пишем конфиг для скачки
set fso = CreateObject("Scripting.FileSystemObject")
set tf = fso.CreateTextFile("d:\_EPI\FTP_SCRIPT\UrbDown.txt", true)
tf.WriteLine "login"
tf.WriteLine "pass"
Do While Not rs.EOF
tnam = Right(rs.fields("file").value, Len(rs.fields("file").value) - instrrev(rs.fields("file").value,"/"))
tf.WriteLine "get " + rs.fields("file").value + " d:\_EPI\FTP_SCRIPT\send\" + tnam
rs.MoveNext
Loop
rs.close
tf.WriteLine "bye"
'выбираем новые для ftp2
rs.Open "SELECT t0803_Big_new.file FROM t0803_Big_new LEFT JOIN t0801_UrbDown ON t0803_Big_new.file = t0801_UrbDown.fileO WHERE (((t0801_UrbDown.fileO) Is Null));",cn
'пишем конфиг для скачки 2
set fso = CreateObject("Scripting.FileSystemObject")
set tf = fso.CreateTextFile("d:\_EPI\FTP_SCRIPT\BigDown.txt", true)
tf.WriteLine "log2"
tf.WriteLine "pass2"
Do While Not rs.EOF
tnam = Right(rs.fields("file").value, Len(rs.fields("file").value) - instrrev(rs.fields("file").value,"/"))
tf.WriteLine "get " + rs.fields("file").value + " d:\_EPI\FTP_SCRIPT\send\" + tnam
rs.MoveNext
Loop
rs.close
tf.WriteLine "bye"
'качаем нужное
Set sh = CreateObject("wscript.shell")
Ft = "ftp.exe -s:" + chr(34) + "d:\_EPI\FTP_SCRIPT\UrbDown.txt" + chr(34) + " 10.10.1.3"
sh.Run Ft, 0, -1
Set sh = Nothing
'качаем нужное ftp2
Set sh = CreateObject("wscript.shell")
Ft = "ftp.exe -s:" + chr(34) + "d:\_EPI\FTP_SCRIPT\BigDown.txt" + chr(34) + " 10.10.1.2"
sh.Run Ft, 0, -1
Set sh = Nothing
'проверяем какие файлы скачали, пишем в таблицу
Set count = CreateObject("scripting.filesystemobject")
aCoun = count.GetFolder("d:\_EPI\FTP_SCRIPT\send\").files.count
if aCoun > 0 then
set files = count.getfolder("d:\_EPI\FTP_SCRIPT\send\").files
rs.open "file", cn
for each file in files
'msgbox file
strComp = Right(file, Len(file) - instrrev(file,"\"))
rs.AddNew
if left(strComp,5) = "17223" then 'востанавливаем исходный путь коряво, но для конкретного случая пойдет
rs.fields("path").value = "DARHIV/IN/" + strComp
else
rs.fields("path").value = "ARHIV_M/IN/" + strComp
end if
rs.fields("fileN").value = strComp
rs.Update
next
rs.close
'пишем в список загруженных, то что скачалось
rs.open "INSERT INTO t0801_UrbDown (fileO) SELECT file.path FROM file;", cn
rs.open "DELETE file.* FROM file;", cn
set rs = nothing
set cn = nothing
'создаем письмо GW
Set ogwApp = CreateObject("NovellGroupWareSession")
Set ogwRootAcct = ogwApp.Login()
Set ogwNewMessage = ogwRootAcct.MailBox.Messages.Add("GW.MESSAGE.MAIL", 4)
ogwNewMessage.BodyText = "Просмотрите, может будет интересно"
ogwNewMessage.Subject = "Новые файлы на FTP"
ogwNewMessage.Recipients.Add "admin@admin.by", NGW, egwTo
for each file in files
sa = file
ogwNewMessage.Attachments.Add sa
next
ogwNewMessage.Send
Set ogwRootAcct = Nothing
Set ogwNewMessage = Nothing
Set ogwApp = Nothing
end if
'Перемещаем файлы в каталог где они нужны
if aCoun > 0 then
for each file in files
strComp = "d:\_EPI\imp\" + Right(file, Len(file) - instrrev(file,"\"))
file.copy strComp,true
file.delete
next
end if
set files = nothing
Set count = nothing
ет

[Quote]

    JuraAD
  • 28398
  • Longevity: 1 year
  • Posts: 26
  • REPUTATION:11

    [+] [-]
96031dimo70...
ёперный театр... :lol: Измени активный режим на пассивный или обратно... -))) возми http://github.com/aria2/aria2/tags и торент и все остальное сможешь качнуть...
wert + ...
Проблема в том, что в скриптах vbs и js ты пользуешься ActiveX - в новых системах их может и не быть (PE система, Вынь 11) или работать по-другому... Сам по себе vbs и js может не больше cmd -))) утрирую, но близко к истине...
wscript.shell
HKEY_CLASSES_ROOT\WScript.Shell
HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{72C24DD5-D70A-438B-8A42-98424B88AFB8}
или 64-бит
ADODB.Connection
HKEY_CLASSES_ROOT\ADODB.Connection
HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{00000514-0000-0010-8000-00AA006D2EA4}
или 64-бит

[Quote]

    Valek271183
  • 14580
  • Longevity: 5 years 10 months
  • Posts: 86
  • REPUTATION:0

    [+] [-]
Как можно реализовать такую идею: нужно добавить в переменную Имя пользователя из другой ОС
[img]https://disk.yandex.ru/i/WlARFzhHxk5Nxw[/img]
Цель в Windows PE добавить в переменную имя пользователя из офлайн системы, но тут возникают трудности. систем может быть несколько, но это решается уже имеющимся bat, который добавит в глобальную переменную диск с нужной системой, будет переменная типа %offlinesystem%
А вот как быть с пользователями если их будет несколько? может по дате последнего входа или может вообще можно сделать несколько переменных типа %user1%, %User2% для разных пользователей ???
Но так как я как wadimus батники делать не умею, прошу помощи коллег по форуму, подскажи как это реализовать?

[Quote]

    JuraAD
  • 28398
  • Longevity: 1 year
  • Posts: 26
  • REPUTATION:11

    [+] [-]
Valek271183, советую выгребать через временный файл, если работаешь в большой организации, которая, к примеру, использует Active Directory и рабочую станцию для нескольких пользователей - пользователей может быть сотня, а то и две... -))) (я встречал такой зоопарк... к примеру - в учебном центре)
Cmd или bat не сдюжит такое количество сетов - свалится...
Профиль пользователя создается для всех, кто логинился или для каждого кто вводил имя пользователя и пароль... Встречал диалоги типа у вас нет доступа - введите имя пользователя/администратора и пароль?

[Quote]

    Valek271183
  • 14580
  • Longevity: 5 years 10 months
  • Posts: 86
  • REPUTATION:0

    [+] [-]
JuraAD, интересуют только клиентские машины, редко редко когда увидишь больше трёх-четырёх пользователей.
Вообще мне кажется мне хватило бы 2-3 переменных, бОльшая часть компьютеров всё-таки с одним пользователем, для большего количества пользователей наверно лучше всё делать вручную.
Может это упростит задачу, если надо будет сделать переменные для первых трёх пользователей в профиле ??

[Quote]

    dimo70
  • 17296
  • Longevity: 4 years 8 months
  • Posts: 3511
  • REPUTATION:41

    [+] [-]
  • Location: BG
Вопрос по комманду Winsat: насколько точно при помощи этой комманды можно определить скорость диска.
winsat disk -drive C:
Проверял через DiskMark, скоростьи не совпадают вполне.
Идея у меня если winsat показывает верно, сделать батник для проверки скорости дисков.

[Quote]

    cartmenezz
  • 1384
  • Longevity: 6 years 11 months
  • Posts: 472
  • REPUTATION:13

    [+] [-]
  • Location: Калининград
96248нужно добавить в переменную Имя пользователя из другой ОС
...
будет переменная типа %offlinesystem%
...
может вообще можно сделать несколько переменных типа %user1%, %User2% для разных пользователей ???
...
Вообще мне кажется мне хватило бы 2-3 переменных, бОльшая часть компьютеров всё-таки с одним пользователем
aa Может как-то так:
@echo off
set "offlinesystem=F:"
set "num=0"
for /f "delims=" %%A in ('dir /B /A:D-H %offlinesystem%\Users^| findstr /IV Public') do (
set /a "num+=1"
set "name=%%A"
call set "User%%num%%=%%offlinesystem%%\Users\%%name%%"
)
if Defined User1 (echo User1 = "%User1%")
if Defined User2 (echo User2 = "%User2%")
if Defined User3 (echo User3 = "%User3%")
if Defined User4 (echo User4 = "%User4%")
if Defined User5 (echo User5 = "%User5%")
echo.
pause
1. set "offlinesystem=F:" - это Вам, понятное дело, не нужно (Вы своими путями уже получили букву диска, как я понял)
2. команда dir: ключ /A:D чтобы выводились только каталоги (вдруг файлики валяются), ключ /A:-H чтобы не выводились скрытые каталоги, у меня на Win10 это убрало из результатов каталоги All Users, Default, Default User (на других системах надо пробовать)
3. каталог Public убрали ключом "/V Public" команды findstr (ключ /I для неучета регистра)
4. теоретически в катологе Users могут оказаться , помимо каких-то файлов, еще и какие-то лишние каталоги, но такое наверное очень маловероятно, так что наверное нет необходимости проверять что найденные каталоги это пользовательские каталоги
...
PS: уверен, старшие товарищи могут и что-то получше предложить))


Last edited by cartmenezz on 2022-07-27 21:04; edited 2 times in total

[Quote]

    wadimus
  • 14910
  • Longevity: 5 years 8 months
  • Posts: 530
  • REPUTATION:68

    [+] [-]
пользователь: user1 - ok!
пользователь: иванов василий петрович - ok?

[Quote]

    cartmenezz
  • 1384
  • Longevity: 6 years 11 months
  • Posts: 472
  • REPUTATION:13

    [+] [-]
  • Location: Калининград
96267пользователь: иванов василий петрович - ok?
если это вопрос к моему варианту, то наверное да, но надо будет перепроверить... проверял с тестовой виндой, и там у меня как раз были пользователи с сомнительными именами, типа "проверка & 1 2 3" и т.п (там тестировал другой скрипт, надо было сохранять на рабочий стол, хотелось все предусмотреть, поэтому создавал подобных пользователей, парочка из них сохранилась...)
но что-то я засомневался, оставались ли с кириллицей в имени... я щас не дома, с телефона пишу
...
с кириллицей надо перепроверить, может и правда когда тестил не было таких пользователей...
Добавлено через 44 минуты 28 секунд:
96267пользователь: иванов василий петрович - ok?
Все ОК ))

Картинка

[Quote]

    wadimus
  • 14910
  • Longevity: 5 years 8 months
  • Posts: 530
  • REPUTATION:68

    [+] [-]
cartmenezz, а зачем список всех пользователей?
ведь виндось же один стоит в системе .. папка одна (Windows) и программ-филесы одни (Program Files и Program Files (x86))

[Quote]

    cartmenezz
  • 1384
  • Longevity: 6 years 11 months
  • Posts: 472
  • REPUTATION:13

    [+] [-]
  • Location: Калининград
96269а зачем список всех пользователей?
ну этого я не знаю, зачем-то нужно, какой-то глобальный батник,.... как я понял, это только часть задумки (может планируется бэкап пользовательских данных, или типо того)

Page 76 of 76


Display posts:    

Current time is: 12-Aug 11:12

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum