Функция rename
Функция rename изменяет имя файла или каталога, указанного в oldfilename на новое имя, указанное в newfilename .
Если в oldfilename и newfilename указать разные пути, и, если это поддерживается системой, файл будет перемещен в новое место.
Эта операция производится непосредственно с файлом, нет потоков, участвующих в операции.
Параметры:
- oldfilename
Cи-строка, содержащая имя файла, который будет переименован и (или) перемещен. Этот файл должен существовать и быть доступным. - newfilename
Cи-строка, содержащая новое имя файла. Она не должно быть именем существующего файла, если это так, то результат работы программы будет непредсказуем, а точнее, он будет зависеть от того, как среагирует используемая ОС, может быть или отказ или переопределение.
Возвращаемое значение
Если файл успешно переименован, возвращается нулевое значение.
В случае ошибки, возвращается ненулевое значение и макрос ERRNO инициализируется соответствующим кодом ошибки.
Строка, интерпретирующая это значение может быть выведена на стандартный поток ошибок при вызове функции perror .
Статья C# Как переименовать файл?
В этой заметке будет показано, как можно получить и изменить имена и расширения всех файлов в выбранной вами папке.
Решение:
Для начала создадим обычное Windows Forms приложение, после чего на форму поместим одну кнопку и один control folderBrowserDialog, который переименуем в fbd.
Поместите код в обработчик события Button.Click
Основные моменты
Как видно в массиве храниться полный путь к каждому файлу.
2. Переименование файла будет осуществляться при помощи метода Move, в который передается два параметра: полный путь к файлу, который нужно перенести или переименовать и новый путь + новое имя файла, либо текущий путь + новое имя файла.
Так как в этом примере файл перемещать не требуется, то изменим лишь только имя файла.
3. Первый параметр у нас уже есть, он хранится в массиве files, осталось получить второй параметр.
Для начала нужно удалить старое имя файла
C:\ff\ — путь Текстовый документ — имя файла .txt — расширение
Воспользуемся методом LastIndexOf(), который в строке
C:\ff\Текстовый документ.txt
найдет индекс последнего слеша после чего, используя метод Remove, удалим всё, что идёт после него.
C:\ff\Текстовый документ.txt -> C:\ff\
std::rename
Изменяет имя файла файла. Файл идентифицируется символьной строкой, на которую указывает old_filename . Новое имя файла идентифицируется символьной строкой, на которую указывает new_filename .
Если new_filename существует, поведение определяется реализацией.
Parameters
| old_filename | — | указатель на нулевую строку,содержащую путь,идентифицирующий переименовываемый файл |
| new_filename | — | указатель на нулевую строку,содержащую новый путь к файлу |
Return value
0 в случае успеха или ненулевым значением по ошибке.
Notes
POSIX определяет множество дополнительных деталей семантики этой функции, которые воспроизводятся в C++ с помощью std::filesystem::rename .
Переименовать файл в C #
Посмотрите System.IO.File.Move, «переместите» файл к новому имени.
/ FileUploads / Photography /"), item.Filename), Path.Combine (HttpContext.Server.MapPath ("
/ FileUploads / Photography / ")," test.nef "));
В методе File.Move это не будет перезаписывать файл, если он уже существует. И он будет генерировать исключение.
Итак, нам нужно проверить, существует ли файл или нет.
Или объедините его с помощью try catch, чтобы избежать исключения.
Вы можете использовать File.Move , чтобы сделать это.
Избегайте решений System.IO.File.Move , размещенных здесь (помеченный ответ включен). Он не работает по сетям. Однако шаблон копирования/удаления работает локально и по сетям. Следуйте одному из решений перемещения, но вместо этого замените его Копировать. Затем используйте File.Delete для удаления исходного файла.
Вы можете создать метод переименования, чтобы упростить его.
Используйте узел VB в С#. Добавить ссылку на Microsoft.VisualBasic
Затем переименуйте файл:
Оба являются строками. Обратите внимание, что myfile имеет полный путь. newName нет. Например:
В папке C:\whatever\ теперь будет b.txt .
Вы можете скопировать его как новый файл, а затем удалить старый с помощью класса System.IO.File :
ПРИМЕЧАНИЕ.. В этом примере кода мы открываем каталог и выполняем поиск файлов PDF с открытой и закрытой скобками в имени файла. Вы можете проверить и заменить любой символ в нужном вам имени или просто указать целое новое имя, используя функции замены.