Что нового

Копирование файла из одной папки в другую, с переименованием и заменой

yl3d

Новичок
Сообщения
70
Репутация
0
Версия AutoIt: 3.3.14.2

Описание:
Здравствуйте, уважаемые специалисты autoit.
Помогите разобраться.

В папке C:\1\ лежат несколько файлов ворда и файл 111.txt. В файл 111.txt - вписано название файла 4.doc.
В папке C:\2\ лежит только один файл итог.doc

Как скриптом автоит переместить из папки C:\1\ в папку C:\2\ тот файл, название которого указано в 111.txt и переименовать с заменой в "итог.doc" ?

Файл копируется из папки C:\1\ в папку C:\2\

Примечания:
 

Вложения

  • 1.rar
    5.5 КБ · Просмотры: 3

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Если я вас правильно понял потому что у вас в архиве папки перепутаны (итог в 1, а другие файлы в 2) и название файла в 111.txt вписано без расширения если что

Код:
Global $sSourcePath = @ScriptDir & "\1\"
Global $sDestFilePath = @ScriptDir & "\2\Итог.doc"
Global $sListName = "111.txt", $sFileName

If Not FileExists($sSourcePath & $sListName) Then Exit MsgBox(16 + 262144, "Ошибка", 'Файл "' & $sListName & '" не существует.')
$sFileName = FileRead($sSourcePath & $sListName)
If Not $sFileName Then Exit MsgBox(16 + 262144, "Ошибка", 'Файл "111.txt" пустой.')
If Not FileExists($sSourcePath & $sFileName) Then Exit MsgBox(16 + 262144, "Ошибка", 'Файл "' & $sFileName & '" не существует.')
If Not FileMove($sSourcePath & $sFileName, $sDestFilePath, 1 + 8) Then Exit MsgBox(16 + 262144, "Ошибка", 'Не удалось переместить файл.')
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Tempo

Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
Tempo , мне требуется копирование.
То есть - в вашем скрипте - файл, название которого вписано в 111.txt - из первоначальной папки где он лежал - безвозвратно удаляется.
А мне нужно, чтобы он копировался с заменой файла итог.doc ( то есть по завершению операции - количество вордовских файлов в первоначальной папке - не должно меняться)
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
yl3d сказал(а):
Tempo , мне требуется копирование.

Поменял перемещение на копирование

Код:
Global $sSourcePath = @ScriptDir & "\1\"
Global $sDestFilePath = @ScriptDir & "\2\Итог.doc"
Global $sListName = "111.txt", $sFileName

If Not FileExists($sSourcePath & $sListName) Then Exit MsgBox(16 + 262144, "Ошибка", 'Файл "' & $sListName & '" не существует.')
$sFileName = FileRead($sSourcePath & $sListName)
If Not $sFileName Then Exit MsgBox(16 + 262144, "Ошибка", 'Файл "111.txt" пустой.')
If Not FileExists($sSourcePath & $sFileName) Then Exit MsgBox(16 + 262144, "Ошибка", 'Файл "' & $sFileName & '" не существует.')
If Not FileCopy($sSourcePath & $sFileName, $sDestFilePath, 1 + 8) Then Exit MsgBox(16 + 262144, "Ошибка", 'Не удалось переместить файл.')
 
A

Alofa

Гость
Tempo
А если в "111.txt" будет выглядеть так?
Код:
4.doc
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Alofa сказал(а):
Tempo
А если в "111.txt" будет выглядеть так?

Будет сообщение что файла не существует
Таких условий не было. Это надо уточнять
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
Tempo,
Теперь все работает идеально.
Большое спасибо.
 
Верх