Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Работа с файловой системой / 25 сообщений из 53, страница 1 из 3
27.07.2015, 11:26
    #39016517
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Подскажите как реализовать следующие функции:
- Проверить существование каталога
- Создать каталог
- Удалить файл
----------
Cache for Windows (x86-64) 2012.2.2 (Build 801) Fri Dec 7 2012 12:08:23 EST
...
Рейтинг: 0 / 0
27.07.2015, 11:41
    #39016542
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Я раньше где-то упоминал про "трубу" - PIPE
Вот этим и пользоваться можно. http://tinco.pair.com/bhaskar/gtm/doc/articles/PIPE_IO_Technical_bulletin.html
Можно использовать команду ZSYstem - http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/index.html

Все в общем делается с помощью самих Linux команд.
...
Рейтинг: 0 / 0
27.07.2015, 11:52
    #39016556
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Valeriu , мне бы просто примеры готовые...
...
Рейтинг: 0 / 0
27.07.2015, 12:01
    #39016564
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa, ZSY "find /home/krvsa/test"
 zsy "mkdir /home/krvsa/test"
 zsy "rm /home/krvsa/test"Я на память. Прочитать про команды линукса не помешает...
...
Рейтинг: 0 / 0
27.07.2015, 13:14
    #39016685
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Valeriukrvsa, ZSY "find /home/krvsa/test"
 zsy "mkdir /home/krvsa/test"
 zsy "rm /home/krvsa/test"Я на память. Прочитать про команды линукса не помешает...
Спасибо.
А обратная связь там какая? Т.е. как понять успешно или нет выполнилась та команда?

ValeriuПрочитать про команды линукса не помешает...Все му свое время...
...
Рейтинг: 0 / 0
27.07.2015, 13:41
    #39016725
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Valeriu ZSY "find /home/krvsa/test"
 zsy "mkdir /home/krvsa/test"
 zsy "rm /home/krvsa/test"При выполнении команд на терминал выдается всякая информация... От этого как-то можно избавиться?
Поскольку нам лишний текст не нужен на терминале.
...
Рейтинг: 0 / 0
27.07.2015, 14:00
    #39016756
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Можно. Перенаправление ввода/вывода
Код: plsql
1.
>> $log 2>&1
...
Рейтинг: 0 / 0
27.07.2015, 14:08
    #39016765
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Я точно не помню, но лучше на нулевое устройство
Код: sql
1.
"> /dev/null 2>&1"


Например просто выводит на терминал:
Код: sql
1.
ls


И выводит на нулевое устройство:
Код: sql
1.
ls > /dev/null
...
Рейтинг: 0 / 0
27.07.2015, 14:11
    #39016769
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
ValeriuМожно. Перенаправление ввода/вывода
Т.е. это уже линуксовый синтаксис будет использоваться? Не gt.m...
...
Рейтинг: 0 / 0
27.07.2015, 14:17
    #39016780
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
ValeriuПеренаправление ввода/вывода
Valeriu
Код: javascript
1.
ZSY "find /home/krvsa/test"


Делал так
Код: javascript
1.
ZSY "find /home/krvsa/test > /dev/null"


И действительно, если каталог существует - на экран ничего не выводится. Но если указать несуществующий каталог - на экран все равно выдается сообщение о том, что такой-то каталог не существует.
...
Рейтинг: 0 / 0
27.07.2015, 14:17
    #39016781
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Все в общем делается с помощью самих Linux команд. Да.
...
Рейтинг: 0 / 0
27.07.2015, 14:22
    #39016784
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Код: sql
1.
find / -name '/home/krvsa.test' 2>/dev/null
...
Рейтинг: 0 / 0
27.07.2015, 14:25
    #39016788
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
[root@GTMDatabase cachesys]# find > /dev/null /home/krvsa/test
find: `/home/krvsa/test': No such file or directory
[root@GTMDatabase cachesys]# find / -name 'program.c' 2>/dev/null
^C
[root@GTMDatabase cachesys]# find / -name '/home/krvsa' 2>/dev/null
[root@GTMDatabase cachesys]# find / -name '/home/krvsa/test' 2>/dev/null
[root@GTMDatabase cachesys]#
[SRC DELPHI]
...
Рейтинг: 0 / 0
27.07.2015, 14:34
    #39016800
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Можно как написал, но просто перед знаком больше добавить 2
т.е.
Код: vbnet
1.
ZSY "find /home/krvsa/test 2> /dev/null"
...
Рейтинг: 0 / 0
27.07.2015, 14:58
    #39016826
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Valeriuпросто перед знаком больше добавить 2
Ошибку не пишет...
Но при успехе куча текста на экране...
...
Рейтинг: 0 / 0
27.07.2015, 15:04
    #39016834
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Valeriu
Код: sql
1.
find / -name '/home/krvsa.test' 2>/dev/null


Тут молчком.
Но "обратная связь", т.е. переменная $zsystem не равна 0 в любом случае, есть каталог или нет - всегда равна 1.
...
Рейтинг: 0 / 0
27.07.2015, 15:20
    #39016858
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Здесь в таком случае не обойтись без малюсенького
bash файла...
...
Рейтинг: 0 / 0
27.07.2015, 15:24
    #39016864
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
#!/bin/bash
FILE=$1
if [ -f $FILE ]; then
   echo "Файл '$FILE' существует"
else
   echo "Файл '$FILE' не существует"
fi
...
Рейтинг: 0 / 0
27.07.2015, 15:43
    #39016905
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
ValeriuЗдесь в таком случае не обойтись без малюсенького bash файла...
У меня есть подозрение, что в таком случае я полностью потеряю актуальность "обратной связи"...
Ведь файл отработает "правильно" в любом случае и переменная $zsystem всегда будет равна 0.
...
Рейтинг: 0 / 0
27.07.2015, 15:51
    #39016919
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
Тогда с помощью трубы функцию.
Перебираешь каталог на наличие подкаталога(файла)
Я выдернул с проектаrtdirectory(patch,Ret,er)
 n io,p,i
 s p="namespace"
 o p:(COMMAND="find /"_patch_" -iname \r ":READONLY)::"PIPE"
 u p
 For i=1:1 r files(i) s Ret(i)=files(i)_$c(13,10) q:$zeof
 c p
 q
 ;
...
Рейтинг: 0 / 0
27.07.2015, 16:57
    #39017010
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
ValeriuТогда с помощью трубы функцию.
Перебираешь каталог на наличие подкаталога(файла)
Спасибо за пример с трубой! С наличием каталога понятно.
А как трубой сделать создание каталога? Как сделать удаление файла?
...
Рейтинг: 0 / 0
27.07.2015, 17:04
    #39017014
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,MakeFolder(cmd,Info,Er)
 n io,line,p
 s p="fileMake"
 o p:(COMMAND=cmd:READONLY)::"PIPE"
 u p
 c p
 s Info="Folder "_cmd_" succesfull make..."
 q
 ;
RemoveFolder(cmd,Info,Er)
 n io,line,p
 s p="fileRemove"
 o p:(COMMAND=cmd:READONLY)::"PIPE"
 u p
 c p
 s Info="Folder "_cmd_" succesfull remove..."
 q
 ;
...
Рейтинг: 0 / 0
28.07.2015, 08:10
    #39017296
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
Valeriu , спасибо тебе!
...
Рейтинг: 0 / 0
14.08.2015, 13:22
    #39029412
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
ValeriuMakeFolder(cmd,Info,Er)
 n io,line,p
 s p="fileMake"
 o p:(COMMAND=cmd:READONLY)::"PIPE"
 u p
 c p
 s Info="Folder "_cmd_" succesfull make..."
 qДошли руки до работы с файлами и папками... Написали такую программу%RO Routine Output Utility
GT.M 11-AUG-2015 12:09:01
tmp
tmp ;
 n info
 d MakeFolder("/srv/box/test",.info)
 w info
 q
MakeFolder(cmd,Info,Er)
 n io,line,p
 s p="fileMake"
 o p:(COMMAND=cmd:READONLY)::"PIPE"
 u p
 c p
 s Info="Folder "_cmd_" succesfull make..."
 q
Ошибок не дает... Но и каталог не появляется...
...
Рейтинг: 0 / 0
14.08.2015, 13:31
    #39029426
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Работа с файловой системой
krvsa,
mkdir пропустили ...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Работа с файловой системой / 25 сообщений из 53, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]