Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как записать данные в файл, находящийся на удалённом компьютере?

Как записать данные в файл, находящийся на удалённом компьютере?

Ответ
Поиск в этой теме
Непрочитано 12.01.2009, 10:21 #1
Как записать данные в файл, находящийся на удалённом компьютере?
Makswell
 
Инженер-строитель
 
Киров
Регистрация: 15.08.2007
Сообщений: 2,204

Всем привет.
Хочу записать данные в файл, находящийся на компьютере в сети.

Этот лог показывает, что файл существует и лисп его нашел:
Цитата:
_$ (findfile (strcat "\\\\Pgs-max\\Temp\\" "file.txt"))
"\\\\Pgs-max\\Temp\\file.txt"
Далее видно, что этот файл можно прочитать:
Цитата:
_$ (setq
file_desk (open (strcat "\\\\Pgs-max\\Temp\\" "file.txt")
"r"
)
)
#<file "\\\\Pgs-max\\Temp\\file.txt">
_$ (close file_desk)
nil
Теперь пытаюсь открыть файл для записи:
Цитата:
_$ (setq
file_desk (open (strcat "\\\\Pgs-max\\Temp\\" "file.txt")
"w"
)
)
nil
И облом.

Так вот, значит вопрос такой. Можно ли с помощью лиспа записать данные в файл на удалённом компе и, если можно, то как это сделать?
Просмотров: 5254
 
Непрочитано 12.01.2009, 10:37
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Через (command "_.shell") попробуй поработать с net use - подключаешь удаленный ресурс как сетевой диск (естественно, задав права доступа), работаешь и удаляешь сетевой диск.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.01.2009, 11:15
#3
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Чего-то не получается.

Создаю сетевой диск M:
Цитата:
_$ (command "_.SHELL" (strcat "net use M: " "\\\\Pgs-max\\Temp"))
nil
Лисп файл находит.
Цитата:
_$ (findfile (strcat "M:\\" "file.txt"))
"M:\\file.txt"
Его можно прочитать:
Цитата:
_$ (setq file_desk (open (strcat "M:\\" "file.txt") "r"))
#<file "M:\\file.txt">
_$ (close file_desk)
nil
А запись опять что-то не работает.
Цитата:
_$ (setq file_desk (open (strcat "M:\\" "file.txt") "w"))
nil
Ну и удаление диска - здесь всё нормально.
Цитата:
_$ (command "_.SHELL" (strcat "net use M: " "/delete"))
nil
Makswell вне форума  
 
Непрочитано 12.01.2009, 11:27
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Код:
[Выделить все]
net use m: \\\\pgs_max\\Temp MyPaSsWoRD /user:DOMAIN_USER@DOMAIN_NAME /persistent:yes
Код:
[Выделить все]
net use m: /delete
Примерно так...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.01.2009, 12:18
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


А права на запись есть?
Александр Ривилис вне форума  
 
Непрочитано 12.01.2009, 12:28
#6
Holon

CNC
 
Регистрация: 07.07.2007
Israel
Сообщений: 302


Если читает но незаписывает может права "юзера" на сервере заданны "только чтение"?
Holon вне форума  
 
Непрочитано 12.01.2009, 13:19
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Вот мой пример. Основное выделено красным
Код:
[Выделить все]
(setq file "\\\\Graphic\\файлы для черчения\\file.txt")
(if (and (setq file (findfile file)) ;;< "\\\\Graphic\\файлы для черчения\\file.txt"
         (VL-FILE-SYSTIME file)      ;;(2009 1 1 12 12 13 9 599) 
         (setq file_dest (open file "w")) ;;#<file "\\\\Graphic\\файлы для черчения\\file.txt"> 
         )
  (progn
    (write-line "OK!" file_dest) 
    (setq file_dest  (close file_dest))
    )
  )
По поводу VL-FILE-SYSTIME см. предпоследний пост и ссылка в нем
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 12.01.2009 в 13:21. Причина: Изменил ссылку
VVA вне форума  
 
Автор темы   Непрочитано 12.01.2009, 13:50
#8
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Попробовал вариант от Алексея. Получилось так:
Код:
[Выделить все]
(command "_.SHELL"
	 (strcat "net use M: "
		 (chr 34)
		 "\\\\Pgs-max\\Temp"
		 (chr 34)
		 " "
		 "1234"
		 " "
		 " /user:"
		 (chr 34)
		 (getvar "LOGINNAME")
		 (chr 34)
		 "@Top  /persistent:yes"
	 )
)
Сетевой диск создался:
Цитата:
_$ (findfile (strcat "M:\\" "file.txt"))
"M:\\file.txt"
Но всё равно:
Цитата:
_$ (setq file_desk (open (strcat "M:\\" "file.txt") "w"))
nil
Так, что пока опять штанга.

Вариант VVA тоже пока не прокатил. Вот лог работы.
Цитата:
_$ (setq file "\\\\Pgs-max\\Temp\\file.txt")
"\\\\Pgs-max\\Temp\\file.txt"
_$ (setq file (findfile file))
"\\\\Pgs-max\\Temp\\file.txt"
_$ (VL-FILE-SYSTIME file)
(2009 1 1 12 10 10 0 724)
_$ (setq file_dest (open file "w"))
nil
Насчет прав доступа, см. скрин свойств файла.
Миниатюры
Нажмите на изображение для увеличения
Название: file_prop.png
Просмотров: 104
Размер:	9.9 Кб
ID:	14617  
Makswell вне форума  
 
Непрочитано 12.01.2009, 13:58
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


А ручками зайти на этот ресурс и отредактировать файл получается (например с Total Commander)?
Предыдущая картинка еще ничего не говорит.
1. Какая версия Windows на Pgs-max?
2. У тебя домен или одноранговая сеть?
...
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 12.01.2009, 14:14
#10
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Всё. Понял. Дело было именно в правах доступа. Все решения правильные, начиная с первого.
Так что извиняйте меня-дурака, не силён я в этих сетевых делах.
Makswell вне форума  
 
Непрочитано 09.07.2015, 09:05
#11
tujn08


 
Регистрация: 26.12.2013
Сообщений: 284


Привет!
У меня такой вопрос:
Хочу писать log желательно во внешнюю сеть.
1) получить имя активного *.DWG ?
2) можно ли отправлять инфу (в виде строки) из доменной сети под правами пользователя. Записывая ее в log.txt?
3) как?
tujn08 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как записать данные в файл, находящийся на удалённом компьютере?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как закрыть файл из лиспа Apelsinov LISP 26 14.08.2019 10:35
как подчистить акадовский файл миня AutoCAD 32 01.02.2008 15:50
как напечатаь в файл двг 3-д объект? мм AutoCAD 2 22.10.2004 06:37
Как найти файл по содержащемуся в нем тексту? Visla AutoCAD 7 09.04.2004 12:16