Автор Тема: Как поменять названия файлов случайным образом  (Прочитано 668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mv6677 [?]

  • Новичок
  • *
  • Сообщений: 81
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt: 3.3.1.,0

Описание:
Доброго времени суток.

Вопрос:
В папке C:\1\ - есть txt файлы, с названиями 1.txt, 2.txt, 3.txt и т.д.
Как нажатием на кнопку макроса - поменять названия файлов случайным образом - используя те же самые числовые данные?

В итоге - получится что файлы вроде бы те же самые... но их названия ПЕРЕТАСОВАНЫ. Например файл который при запуске макроса - назывался 2.txt - после срабатывания - будет называться 5.txt или 11.txt (в названии файлов - всегда только числа).

Названия файлов - могут быть только те, что существуют в папке на момент запуска скрипта. То есть - если в папке с книгой всего 11 текстовых файлов, то при переименовании - не может быть файла с названием 14 или 15. Названия также - не могут повторяться.
Примечания:


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Март 21, 2018, 02:07:01 от mv6677 »

Русское сообщество AutoIt


Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2810
  • Репутация: 473
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
мой вариант-пример.
(нажмите для показа/скрытия)
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Помечен как лучший ответ пользователем mv6677 Отправлен Март 21, 2018, 23:43:58

Онлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 407
  • Репутация: 94
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#include <Array.au3>
#include <File.au3>

Local $sPath = "C:\1"

Local $aFileList = _FileListToArray($sPath, "*.txt", $FLTA_FILES), $aOutList = $aFileList
If @error Then Exit MsgBox(0, "Ошибка", "Файлы не найдены")

_ArrayShuffle($aOutList, 1)
For $i = 1 To $aFileList[0]
    FileMove($sPath & "\" & $aFileList[$i], $sPath & "\" & $aOutList[$i] & ".tmp")
Next
For $i = 1 To $aFileList[0]
    FileMove($sPath & "\" & $aOutList[$i] & ".tmp", $sPath & "\" & $aOutList[$i])
Next


Оффлайн mv6677 [?]

  • Новичок
  • *
  • Сообщений: 81

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо

Русское сообщество AutoIt

Re: Как поменять названия файлов случайным образом
« Ответ #3 Отправлен: Март 21, 2018, 23:44:23 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
3842 Просмотров
Последний ответ Январь 05, 2010, 23:58:49
от symboss
1 Ответов
3983 Просмотров
Последний ответ Апрель 07, 2010, 18:06:20
от madmasles
4 Ответов
4231 Просмотров
Последний ответ Февраль 10, 2011, 13:49:47
от Otter
1 Ответов
2304 Просмотров
Последний ответ Октябрь 26, 2012, 18:27:00
от AZJIO
26 Ответов
6547 Просмотров
Последний ответ Июнь 22, 2013, 14:36:04
от CreatoR
7 Ответов
2363 Просмотров
Последний ответ Август 13, 2013, 13:47:16
от ---Zak---
1 Ответов
1388 Просмотров
Последний ответ Ноябрь 08, 2013, 15:29:51
от InnI
1 Ответов
886 Просмотров
Последний ответ Май 07, 2014, 17:11:16
от InnI
6 Ответов
1551 Просмотров
Последний ответ Июль 25, 2015, 13:22:43
от Yashied
6 Ответов
2097 Просмотров
Последний ответ Сентябрь 21, 2015, 12:50:29
от joiner