Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

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")


Код
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 не хочет.

Код
exec h:\start.vbs


Автор: cirus 22.7.2017, 15:58

Коды ошибок файловых операций у Кнайта надо узнавать.

Цитата
cirus, у Вас браузер гугл хром установленный есть?

Есть.

Автор: veiron 22.7.2017, 16:02

Цитата(cirus @ 22.7.2017, 15:58) *

Коды ошибок файловых операций у Кнайта надо узнавать.

Есть.

cirus, у Вас браузер гугл хром установленный есть?
С помощью костыля удалось переместить файл, правда столкнулся с очередной проблемой. Как запустить файл VBS пилотом? Бат файл запускает, а VBS не хочет.
Код
exec h:\start.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 файле пишем:
Код
start "" "h:\start.vbs"

В пилоте:
Код
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)