Что нового

[Файловая система] Копирование,переименовывание и удаление файлов

asperin

Новичок
Сообщения
5
Репутация
0
Версия AutoIt: 3.
AutoIt 3.3.6.0
Описание:
Кратко: нужно файлы из одной папки (C:\First) переместить с другими именами в другую папку (C:\Second). Проблема в том, что приложение создает файлы с разными именами. Пример:
Папки First и Second пусты. Приложение создает файл "Красный-Opel-2010.04.16 193249.txt" в папке First. Его нужно перенести в Second с именем "Opel.txt" и удалить из First. Проблема в том, имя файла после создания приложением постоянно меняется кроме слова Opel, т.е. слова между первым дефисом и вторым не меняются при создании.
Зеленый-Nissan-2010.04.17 183325.txt → Nissan.txt
Красный-Opel-2009.06.16 221322.txt → Opel.txt
Фиолетовый-Jaguar-2002.02.01 131642 → Jaguar.txt
Что должен делать скрипт.Шаги:
1. Удаляет все файлы из папки C:\Second.
2. Копирует файлы из папки C:\First в папку C:\Second.
3. Переименовывает файлы согласно описанным выше условиям.
4. Удаляет все файлы из папки C:\First
Примечание:
Файлов примерно 50 шт.
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
asperin
Мой вариант...

Код:
; НАЧАЛО

 $SOURCE="C:\FIRST"
 $TARGET="C:\SECOND"

 FileDelete($TARGET&"\*.*")

 $SEARCH=FileFindFirstFile($SOURCE&"\*.txt")

 while true

  $FILE=FileFindNextFile($SEARCH) 
  if @error then ExitLoop

  $FILE1=StringTrimLeft($FILE,StringInStr($FILE,"-"))
  $FILE1=StringLeft($FILE1,StringInStr($FILE1,"-")-1)

  FileMove($SOURCE&"\"&$FILE,$TARGET&"\"&$FILE1&".txt",9)

 wend

 FileClose($SEARCH)

; КОНЕЦ
 
Автор
A

asperin

Новичок
Сообщения
5
Репутация
0
Вчера ночью сидел часа 2 мучился написать с помощью бат файла, после того как у меня нифига не получилось, я подумал, что простыми методами это невозможно :-[
Кароч хочу извиниться за такую бестолковую тему ) все решилось банальным FileCopy,FileDelete :IL_AutoIt_1:

2snoitaleR
Спасибо за отзыв, попробую применить


ps: не пишите скрипты на сонную голову :beer:
 
Верх