Работа с каталогами и файлами

  • Автор темы Автор темы 11BOSS11
  • Дата начала Дата начала
1

11BOSS11

Открытие файла для записи (проверка на существование полного пути и создание при необходимости директорий)

допустим мне надо открыть такой файл : c:\temp\123.txt , если такой директории и файла нету, то создать его.........
:)
 
:)
dir, open, print

См. в справке дизайнера раздел "File Handling"
 
посмотрите пожалуйста в чем ошибка,
делаю вот таким от обрахом:
Код:
pathName$=c:\temp\123.txt

FILENAME= Dir$(pathName$)
:)
 
Код:
mkDir

Добавлено: Кавычки?
Если не поможет, то двойной слэш попробуй, от платформы зависет
 
так чтоли:
Код:
pathName$="c:\temp\123.txt"
Mkdir pathName$
FILENAME= Dir$(pathName$)

тоже не получается...
 
Mkdir создает директорию, а не файл!
' Create directory TEST, in the root directory of drive C.
MkDir "c:\test"
Добавлено: причем оно не создаст Вам сразу две директории (C:\Dir1\Dir2) -- надо создать сначала C:\Dir1, а потом C:\Dir1\Dir2
 
с созданием директории яразобрался с помощю MkDir , а вот как проверить есть ли уже такая директория, и елс ида то не создавать?
- и как мне проверять есть ли файл "c:\temp\123.txt" , если нет , то создавать?



Добавлено:
MkDir не относился к твоей проблеме
у меня проблеа:

есть путь: "c:\temp\123.txt"
- проверить есть ли такой каталог , если нету создать.
- проверить есть ли такой файл, елси нету создать.

вот вся моя проблеа,. там далше как работать с файлами я знаю........

а MkDir мне надо для того чтобы создать каталог если такового не имеется...
 
-для темпов - юзать получение временного каталога ср-вами нотусов
-для созадния диров - поставить обработку ошибок, с Resume Next для случая "нужных" исключений (просто пройдет дальше, ежели сущ. каталог)
традиционно
-юзать java для рекурсивного создания диров :):
Код:
			// Setup directories
File baseDir = new File("c:\\examples\\embedding");
File outDir = new File(baseDir, "out");
outDir.mkdirs();

и бэкслэши не являются универсальными в ЛС (к тому же - гимор с экранирование), можно использовать прямые (в путях)
 
у меня проблеа:

есть путь: "c:\temp\123.txt"
- проверить есть ли такой каталог , если нету создать.
- проверить есть ли такой файл, елси нету создать.

Код:
If Dir$("c:\temp", 16) = "" Then Mkdir("c:\temp")
If Dir$("c:\temp\123.txt", 0) = "" Then 
'...
 
nvy
не надо учить такому ;)...
зачем проверять файл? - NotesStream.Open
куча ифов, если большая вложенность - ну очень нагружает код
 
nvy
не надо учить такому ;)...
Ну так я с самого начала указал, где и что почитать. Ну а дальше — каков вопрос, таков ответ ;) .

И потом, мы же не знаем, какая стоит задача. М.б. нужно не затирать файл, а создать новый (как Word версии сохраняет).
 
ОО всем огромнейшее спасибо за помощь!! ;)


Добавлено: а не подскажите какой ф-ей воспольховатся для выделения из "c:\temp\123.txt" только адреса директории, инымы словамы мне надо урезать имя файла... ;)
 
вообщем если бы я знал имя файла можна было бы воспольховатся InStr и Left, а так мне надо обрезать все справа до первого слеша,...
 
читайте мануал, про работу со строками...
StrLeftBack
 
я вот так сделал:

Код:
For i=1 To Len(FILENAME)
If Right(Left(FILENAME, i),1)="\"  Then
ks1=i
End If
Next


DIRECTORYNAME=Left(FILENAME,ks1-1)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!