Версия для печати темы
UoKit.com Форумы _ UO Pilot _ Перемещение файла
Автор: veiron 21.7.2017, 22:14
Можно как нибудь переместить файл с одной папки в другую? На вики нашел только копирование. А мне нужно именно с одной папки переместить в другую.
Автор: Cockney 22.7.2017, 1:30
В чем проблема копировать, а потом удалить старый образец ?
Автор: veiron 22.7.2017, 9:31
Цитата(Cockney @ 22.7.2017, 1:30)
В чем проблема копировать, а потом удалить старый образец ?
Код
filecopy (h:\Wan Data "anty d:\Wan Data")
Не копирует, может потому что названия файла пробел присутствует или нет расширения. Файл бинарный.
Автор: cirus 22.7.2017, 10:32
Путь заключить в кавычки.
Код
filecopy ("h:\Wan\Data" "d:\Wan\Data")
Автор: veiron 22.7.2017, 13:10
Цитата(cirus @ 22.7.2017, 10:32)
Путь заключить в кавычки.
Код
filecopy ("h:\Wan\Data" "d:\Wan\Data")
Код
а почему у Вас слэш стоит между Wan\Data, файл называется Wan Data он бинарный и не имеет ни какого расширения. Попробовал в кавычки , не копирует. Даже не работает если файл имеет не двойное название(data_3)
Автор: Cockney 22.7.2017, 13:22
Заключить путь в кавычки, и убрать из него слеш, если не нужно.
Автор: veiron 22.7.2017, 13:27
Цитата(Cockney @ 22.7.2017, 13:22)
Заключить путь в кавычки, и убрать из него слеш, если не нужно.
Код
filecopy ("h:\Wan Data" "anty d:\Wan Data")
Не копирует из диска H в диск D
Код
filecopy ("h:\data_3" "anty d:\data_3")
Не копирует
Автор: cirus 22.7.2017, 13:38
Что за anty?
Автор: veiron 22.7.2017, 13:42
Цитата(cirus @ 22.7.2017, 13:38)
Что за anty?
На вики такой пример. Хотя и без anty тоже не работает
Автор: cirus 22.7.2017, 13:48
А где связь между примером пути на вики и твоим?
Код
filecopy ("h:\Wan Data" "d:\Wan Data")
Автор: veiron 22.7.2017, 13:55
Цитата(cirus @ 22.7.2017, 13:48)
А где связь между примером пути на вики и твоим?
Код
filecopy ("h:\Wan Data" "d:\Wan Data")
Я взял пример на вики
Код
filecopy (C:\tmp\gg.log "anty gg.log")
переделал в
Код
filecopy ("h:\Wan Data" "anty d:\Wan Data")
вот и связь
Автор: cirus 22.7.2017, 14:19
Код
filecopy ("h:\Wan Data" "d:\Wan Data")
log errorlevel
End_script
Что в логе?
Автор: veiron 22.7.2017, 14:26
cirus, у Вас браузер гугл хром установленный есть?
С помощью костыля удалось переместить файл, правда столкнулся с очередной проблемой. Как запустить файл VBS пилотом? Бат файл запускает, а VBS не хочет.
Код
Автор: cirus 22.7.2017, 15:58
Коды ошибок файловых операций у Кнайта надо узнавать.
Цитата
cirus, у Вас браузер гугл хром установленный есть?
Есть.
Автор: veiron 22.7.2017, 16:02
Цитата(cirus @ 22.7.2017, 15:58)
Коды ошибок файловых операций у Кнайта надо узнавать.
Есть.
cirus, у Вас браузер гугл хром установленный есть?
С помощью костыля удалось переместить файл, правда столкнулся с очередной проблемой. Как запустить файл VBS пилотом? Бат файл запускает, а VBS не хочет.
Код
Тогда попробуйте скопировать файл к примеру Login Data в хроме, он такого же типа как я пытаюсь скопировать
Автор: cirus 22.7.2017, 17:47
Цитата
Как запустить файл VBS пилотом?
После 2.38 что-то меняли в exec и vbs не запускается. Кстати, я уже писал про это где-то.
Код
// для версии 2.38
exec wscript "h:\start.vbs"
end_script
Для 2.39:
1. Через программу VbsToExe конвертируем файл vbs в exe. И запускаем как exe файл.
2. Запускать файл vbs через батник.
В bat файле пишем:
Код
В пилоте:
Код
exec "путь к bat файлу"
end_script
Цитата
Тогда попробуйте скопировать файл к примеру Login Data в хроме
Тип файла, скорее всего, не имеет значения. Я создал файл с именем "Wan Data" без расширения и он без проблем скопировался.
Автор: veiron 22.7.2017, 18:28
Цитата(cirus @ 22.7.2017, 17:47)
Тип файла, скорее всего, не имеет значения. Я создал файл с именем "Wan Data" без расширения и он без проблем скопировался.
Не знаю, имеет или нет, но я попробовал Login Data скопировать, не копирует. Через VBS и батник все копируется, прикрутил костыль ну и ладно, главное что работает.
Автор: cirus 22.7.2017, 18:36
Цитата
Не знаю, имеет или нет, но я попробовал Login Data скопировать, не копирует.
Код
filecopy ("C:\Users\abc\AppData\Local\Google\Chrome\User Data\Default\Login Data" "d:\Login Data")
End_script
Копирует без проблем.
Автор: veiron 23.7.2017, 9:48
Цитата(cirus @ 22.7.2017, 18:36)
Код
filecopy ("C:\Users\abc\AppData\Local\Google\Chrome\User Data\Default\Login Data" "d:\Login Data")
End_script
Копирует без проблем.
Код
filecopy ("C:\Users\abc\AppData\Local\Google\Chrome\User Data\Default\Login Data" "h:\"Login Data")
Не знаю, как у Вас копирует. В первом Login Data без пассов, во втором с пассами. После отработки пилота, по идее второй должен стать без пассов, заменяю оригинал вторым и гугл становится с пассами, а должен остаться пустым. Получается копирования нет, с VBC так и получается, с filecopy нет?
Автор: cirus 23.7.2017, 10:48
Похоже что копирует только если файл не существовал.
Код
filedelete ("h:\"Login Data") // сначала удаляем файл
filecopy ("C:\Users\abc\AppData\Local\Google\Chrome\User Data\Default\Login Data" "h:\"Login Data")
Автор: veiron 23.7.2017, 12:56
Код
filedelete ("h:\Login Data")
filecopy ("C:\Users\abc\AppData\Local\Google\Chrome\User Data\Default\Login Data" "h:\Login Data")
Файл удаляется, а новый не создается.
Автор: cirus 23.7.2017, 13:13
Цитата
Файл удаляется, а новый не создается.
Значит путь указан неверно. В пути присутствует имя учётной записи и как-то мало верится что она называется также - abc.
Автор: veiron 23.7.2017, 13:41
Цитата(cirus @ 23.7.2017, 13:13)
Значит путь указан неверно. В пути присутствует имя учётной записи и как-то мало верится что она называется также - abc.
Точно, откуда взялось abc в пути не знаю, убрал, все заработало. Спасибо.
Цитата(cirus @ 22.7.2017, 18:36)
Код
filecopy ("C:\Users\abc\AppData\Local\Google\Chrome\User Data\Default\Login Data" "d:\Login Data")
End_script
Копирует без проблем.
))) Это я от сюда путь скопировал
Автор: veiron 30.7.2017, 16:27
Как узнать сколько в папке(Е:\лог\) находится папок. Команда DIR почему-то выводит все папки и файлы и вместо 5 папок, показывает 18000 файлов и папок.
Автор: cirus 30.7.2017, 17:46
Цитата
Как узнать сколько в папке(Е:\лог\) находится папок.
Можно перебрать все найдены пути. Не самый быстрый вариант. Имя папок не должно содержать точку. И в папке "Е:\лог" не должно быть файлов без расширения.
код
Код
dir (%arr "Е:\лог")
log clear
log mode compact
log Найдено файлов size(%arr)
if size(%arr) > 0
set #z 0
set $regexp "^Е:\\лог\\[^\.\\]+$"
for #i 1 size(%arr)
set #n regexp (#p $s %arr[#i 1] $regexp)
if #n > 0
set #z #z + 1
end_if
end_for
end_if
log Количество папок: #z
end_script
Автор: WKnight 30.7.2017, 19:35
Цитата
Имя папок не должно содержать точку.
Dir возвращает атрибуты найденных элементов.
Автор: cirus 30.7.2017, 19:56
Цитата
Dir возвращает атрибуты найденных элементов.
Да, можно и так.
код
Код
dir (%arr "Е:\лог")
log clear
log mode compact
log Найдено файлов size(%arr)
if size(%arr) > 0
set #z 0
for #i 1 size(%arr)
if %arr[#i 6] = D and %arr[#i 9] = 0
set #z #z + 1
log %arr[#i 1]
end_if
end_for
end_if
log Количество папок: #z
end_script
Автор: veiron 31.7.2017, 7:13
Цитата(cirus @ 30.7.2017, 19:56)
Да, можно и так.
код
Код
dir (%arr "Е:\лог")
log clear
log mode compact
log Найдено файлов size(%arr)
if size(%arr) > 0
set #z 0
for #i 1 size(%arr)
if %arr[#i 6] = D and %arr[#i 9] = 0
set #z #z + 1
log %arr[#i 1]
end_if
end_for
end_if
log Количество папок: #z
end_script
Спасибо. Правда, всего 5 папок, но в них 18000 файлов, пока все пересчитал не остановился.
Автор: cirus 31.7.2017, 10:30
Если количество папок всегда известно, то можно прервать цикл, когда нужное количество найдено.
Автор: veiron 31.7.2017, 12:24
Цитата(cirus @ 31.7.2017, 10:30)
Если количество папок всегда известно, то можно прервать цикл, когда нужное количество найдено.
Всегда известно. Как это сделать?
Автор: cirus 31.7.2017, 12:39
код
Код
dir (%arr "Е:\лог")
set #count 5 // количество папок
log clear
log mode compact
log Найдено файлов size(%arr)
if size(%arr) > 0
set #z 0
for #i 1 size(%arr)
if %arr[#i 6] = D and %arr[#i 9] = 0
set #z #z + 1
log %arr[#i 1]
if #z = #count // если найдено #count папок
break // прервать цикл
end_if
end_if
end_for
end_if
log Количество папок: #z
end_script
Автор: veiron 31.7.2017, 13:47
Цитата(cirus @ 31.7.2017, 12:39)
код
Код
dir (%arr "Е:\лог")
set #count 5 // количество папок
log clear
log mode compact
log Найдено файлов size(%arr)
if size(%arr) > 0
set #z 0
for #i 1 size(%arr)
if %arr[#i 6] = D and %arr[#i 9] = 0
set #z #z + 1
log %arr[#i 1]
if #z = #count // если найдено #count папок
break // прервать цикл
end_if
end_if
end_for
end_if
log Количество папок: #z
end_script
Спасибо
Автор: veiron 1.8.2017, 13:27
Кто нибудь пользуется Амазон сервером, как с него файл закинуть на свой комп и потом пилотом считать данные с этого файла ?
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)