Что нового

Копирование файла с добавлением к имени тек.даты

orange3100

Новичок
Сообщения
18
Репутация
0
Доброго времени суток, уважаемые форумчане, подскажите, как дописать скрипт:

1 Этап: Копирование выбранного файла в требуемую директорию (этот этап работает, возможно, что-то косо написано, но выбираешь файл, запускаешь скрипт и он оказывется в требуемой папке)
Код:
$dir = 'C:\J'
        
; (1) Копирование выбранного [Полного пути файла] в Буфер обмена
        Send('^{INS}')

; (2) Получение [Полного пути файла]
        $sData = ClipGet()

; (3) Вставка файла [Полного пути файла]
        FileCopy($sData, $dir)


2 Этап: Добавление даты в виде "ГГГГ.ММ.ДД" в начало имени скопированного файла
а вот с этим этапом, что-то пока не могу понять в какое русло идти?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Код:
$dir = 'C:\J'

Send('^{INS}')
Sleep(33)
$sData = ClipGet()

$aName = StringRegExp($sData, "[^\\]+$", 1)
If @error Then Exit

$sName = @YEAR & "." & @MON & "." & @MDAY & "_" & $aName[0]
$dir &= "\" & $sName

FileCopy($sData, $dir)
 
Автор
O

orange3100

Новичок
Сообщения
18
Репутация
0
Код:
$dir = 'C:\J'

Send('^{INS}')
Sleep(33)
$sData = ClipGet()

$aName = StringRegExp($sData, "[^\\]+$", 1)
If @error Then Exit

$sName = @YEAR & "." & @MON & "." & @MDAY & "_" & $aName[0]
$dir &= "\" & $sName

FileCopy($sData, $dir)
Эта штука работает! Благодарю Вас! Попробую подумать над методом, без регулярных выражений, это пока для меня Высшая математика)) Главное логику понял!
 

Norm

Продвинутый
Сообщения
279
Репутация
74
Если метод не найдёте, то вот альтернатива без регулярных выражений.
Код:
$Dir = 'C:\J'

Send('^{INS}')
Sleep(33)
$sData = ClipGet()

$nS = StringInStr($sData, "\", 0, -1)
If $nS = 0 Then Exit

$Dir &= "\"& @YEAR &"."& @MON &"."& @MDAY &"_"& StringTrimLeft($sData, $nS)

FileCopy($sData, $dir)
 
Верх