Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как переименовать каталог / 10 сообщений из 10, страница 1 из 1
05.09.2007, 22:33
    #34779425
БЮИ.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
Необходимо переименовать каталог. Команды в VFP такой нет.
Подскажите, как это сделать с помощью API
...
Рейтинг: 0 / 0
06.09.2007, 07:15
    #34779669
Как переименовать каталог
БЮИ.Необходимо переименовать каталог. Команды в VFP такой нет.
Подскажите, как это сделать с помощью API
MSDN Help
MoveFile
The MoveFile function moves an existing file or a directory, including its children.

To specify how to move the file, use the MoveFileEx function.

BOOL MoveFile(
LPCTSTR lpExistingFileName, // file name
LPCTSTR lpNewFileName // new file name
);
Parameters
lpExistingFileName
[in] Pointer to a null-terminated string that names an existing file or directory.
Windows NT/2000: In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to nearly 32,000 wide characters, call the Unicode version of the function and prepend "\\?\" to the path. For more information, see File Name Conventions.

Windows 95/98: This string must not exceed MAX_PATH characters.

lpNewFileName
[in] Pointer to a null-terminated string that specifies the new name of a file or directory. The new name must not already exist. A new file may be on a different file system or drive. A new directory must be on the same drive.
Windows NT/2000: In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to nearly 32,000 wide characters, call the Unicode version of the function and prepend "\\?\" to the path. For more information, see File Name Conventions.

Windows 95/98: This string must not exceed MAX_PATH characters.

Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks
The MoveFile function will move (rename) either a file or a directory (including its children) either in the same directory or across directories. The one caveat is that the MoveFile function will fail on directory moves when the destination is on a different volume.

Windows 2000: The MoveFile function coordinates its operation with the link tracking service, so link sources can be tracked as they are moved.

MAPI: For more information, see Syntax and Limitations for Win32 Functions Useful in MAPI Development.

Requirements
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.


А еще можно сделать так:
-создать директорию с нужным именем (CreateDirectory)
- скопировать все содержимое из исходной директории (можно средствами Фокса)
- удалиь исходную директорию (RemoveDirectory)
...
Рейтинг: 0 / 0
06.09.2007, 07:28
    #34779677
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
Код: plaintext
1.
o=CreateObject("Scripting.FileSystemObject")
o.MoveFolder("C:\000","C:\111")
...
Рейтинг: 0 / 0
06.09.2007, 21:03
    #34782807
БЮИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
piva
Код: plaintext
1.
o=CreateObject("Scripting.FileSystemObject")
o.MoveFolder("C:\000","C:\111")


Очень класный способ. Попробовал в VFP 9.0 - работает и на длиных именах.
Но есть проблема в RUNTIME - дает ошибку "Неизвестный код состояния com".
...
Рейтинг: 0 / 0
06.09.2007, 21:31
    #34782838
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
БЮИ piva
Код: plaintext
1.
o=CreateObject("Scripting.FileSystemObject")
o.MoveFolder("C:\000","C:\111")


Очень класный способ. Попробовал в VFP 9.0 - работает и на длиных именах.
Но есть проблема в RUNTIME - дает ошибку "Неизвестный код состояния com".
На какой команде-то?

В принципе, сообщение об ошибке говорит о проблемах на конкретной машине. К RunTime никакого отношения не имеет.

Перемещать каталоги с одного диска на другой можно только в случае, если это поддерживается операционной системой. Например: Windows 98 SE с установленным DirectCD не позволяет перемещать каталоги с жесткого диска на CD-RW и обратно.

Подробности и другие команды по работе с файловой системой смотри здесь

http://kodu.neti.ee/~juri4/vfpplus/vbs_fso_01_ru.htm
...
Рейтинг: 0 / 0
08.09.2007, 23:38
    #34786310
БЮИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
Разобрался.
Такая ошибка появляется в случае попытки переименовать несуществующий каталог.
Спасибо всем за помощь.
...
Рейтинг: 0 / 0
09.09.2007, 10:37
    #34786419
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
piva
Код: plaintext
1.
o=CreateObject("Scripting.FileSystemObject")
o.MoveFolder("C:\000","C:\111")


А для копирования папки - так?

o=CreateObject("Scripting.FileSystemObject")
o. Copy Folder("C:\000","C:\111")
...
Рейтинг: 0 / 0
09.09.2007, 10:55
    #34786425
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
Точно ;-)) - САМ проверил...
...
Рейтинг: 0 / 0
09.09.2007, 13:07
    #34786507
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
Ссылку бы посмотрел. Там много чего еще написано. Все по русски, с примерами и комментариями.
...
Рейтинг: 0 / 0
09.09.2007, 21:51
    #34786906
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переименовать каталог
ВладимирМСсылку бы посмотрел. Там много чего еще написано. Все по русски, с примерами и комментариями.

Обязательно. Но пока интересно было только это. На самом деле весь форум - одна большая ссылка, всегда можно вернуться, посмотреть (поискать) и - дальше в бой.
Кстати. Было обсуждение по книге по Фоксу. Купил. На самом деле книга не в пример бывшим - хорошая. По крайней мере есть информация для реального использования. Но пока не воспользовался - форума достаточно.
И всем за это агромадное спасибо!
Фокс жил, Фокс жив. Фокс будет жить!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как переименовать каталог / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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