![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать имя каталога [D7, XP]
b@v © (2009-02-18 14:15:00)Вообщем суть такая. Нужно создать каталог, но если каталог с таким именем уже существует, то просто проигнорировать и не создавать, а если такого каталога нету, то создать его. Использую MkDir, т.е.
MkDir(c:\Proba\Zakaz\' + ADODataSet1['Firma']); , т.е. создаю каталог с именем ADODataSet1['Firma'] (Например - Tovar)
Если нет каталога то и нет проблем, создает, а если есть, то ...... косяк
Anatoly Podgoretsky (2009-03-02 10:59:00) [1]
> забылпароль (02.03.09 10:46) [14]
Тут Дельфи даже и не пахнет, к чему бы это?
Palladin (2009-03-02 10:48:00) [2]
> забылпароль (02.03.09 10:46) [14]
ForceDirectories + F1
забылпароль (2009-03-02 10:46:00) [3]зачем так сложно?
cmd
C:\Documents and Settings\Администратор>mkdir /?
Создание каталога.
MKDIR [диск:]путь
MD [диск:]путь
Изменение команды MKDIR при включении расширенной обработки команд:
Команда MKDIR создает при необходимости все промежуточные каталоги в пути.
Например, если \a не существует, то:
mkdir \a\b\c\d
приводит к тому же результату, что и:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
например, мой бэкап бд из шедулера. батник
@echo off
REM ---------------------- Start
set NameFile=*.bak
set NewFolder=%Date%
set SrcFld=d:\BackUp
set DstFld=\\192.168.0.32\Volume_1\backup
REM ------ Try creating folder
mkdir %DstFld%\%NewFolder%
REM ------------- Copy files ..
copy %SrcFld%\%NameFile% %DstFld%\%NewFolder%\%NameFile%
if errorlevel 1 goto exitError
REM -------------- pack files ...
"C:\Program Files\7-Zip\7z.exe" a -tzip %DstFld%\%NewFolder%.zip %DstFld%\%NewFolder%\%NameFile% -mx6
if errorlevel 1 goto exitError
REM -------------- Try erase files and folder
erase /Q %DstFld%\%NewFolder%\%NameFile%
if errorlevel 1 goto exitError
rmdir %DstFld%\%NewFolder%
if errorlevel 1 goto exitError
erase /Q %SrcFld%\%NameFile%
if errorlevel 1 goto exitError
REM -------------- All ok!
Exit /b 0
:exitError
REM -------------- Error!
Exit /b 1
brother (2009-03-02 05:38:00) [4]делай так:
if not directoryexists( 'c:\Proba\Zakaz\' + ADODataSet1['Firma']) then MkDir( 'c:\Proba\Zakaz\' + ADODataSet1['Firma']);
Юрий Зотов (2009-02-19 15:47:00) [5]> Как узнать имя каталога
Все неправы, кроме Анатолия. Правильный ответ на заданный вопрос выглядит так:
function GetDirName(Dir: string): string;
begin
Result := Dir;
end;
Yellow_D (2009-02-19 15:42:00) [6]
> Гад какой то.
:)
А может просто так вопрос был задан?
Но все же, для него, батеньки :)
procedure TForm1.Button1Click(Sender: TObject);
begin
if directoryexists('C:\1') then showmessage('Каталог существует') else
showmessage('Каталог не существует');
end;
Anatoly Podgoretsky (2009-02-19 15:36:00) [7]> Dennis I. Komarov (19.02.2009 9:35:07) [7]
Гад какой то.
Palladin (2009-02-19 10:59:00) [8]И что собственно? Чего сказать то хотел?
MkDir (2009-02-19 09:49:00) [9]
{$I-}
MkDir(c:\Proba\Zakaz\' + ADODataSet1['Firma']);
{$I+}
Dennis I. Komarov (2009-02-19 09:35:00) [10]
> Anatoly Podgoretsky © (18.02.09 14:29) [6]
> Удалено модератором
Это "самоубийство"? :)
Anatoly Podgoretsky (2009-02-18 14:29:00) [11]> b@v (18.02.2009 14:24:03) [3]
Ну и где тут узнавание имени каталога?
Anatoly Podgoretsky (2009-02-18 14:29:00) [12]Удалено модератором
Anatoly Podgoretsky (2009-02-18 14:28:00) [13]> b@v (18.02.2009 14:15:00) [0]
CreateDir попробуй.
Имя каталога тебе не надо узнавать, оно тебе известно еще до вызова, не может MkDir работать с неизвестными именами.
Palladin (2009-02-18 14:24:00) [14]ForceDirectory
b@v (2009-02-18 14:24:00) [15]
> clickmaker ©
Спасибо, действительно, ведь раньше пользовался :-)
clickmaker (2009-02-18 14:18:00) [16]DirectoryExists