PDA

Показать полную графическую версию : Генерирование новых имени файлов через контекстное меню windows?


OlefilPanacan
13-10-2021, 22:11
Цель - изменение имени файлов не сгенерированное значение.

https://i.stack.imgur.com/id1xm.png


Не знаю оптимальный ли это способ, но я решил написать скрипт на питоне.


import sys,os
import random
chars = 'abcdefghijklnopqrstuvwxyz1234567890'
for n in range(1):
newname=''
for i in range(13):
newname+= random.choice(chars)
oldext = os.path.splitext(sys.argv[1])[1]
os.rename(sys.argv[1], newname + oldext)


И добавил его в контекстное меню windows через реестр.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\python]
@="Random name"
[HKEY_CLASSES_ROOT\*\shell\python\command]
@="cmd /c python c:\\rename.pyw \"%1\""
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\python]
@="Random name"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\python\command]
@="cmd /c python c:\\rename.pyw \"%1\""

Проблема в том, переименование происходит долго и каждый раз открывается консоль, что раздражает. Есть ли более оптимальный путь?

DJ Mogarych
14-10-2021, 08:40
Да, использовать вместо питона cmd или powershell.

Iska
15-10-2021, 05:12
DJ Mogarych, и консоль будет по-прежнему открываться (по умолчанию, для PoSH, помнится, параметр был для скрытия окна), и медленно так же будет :). WSH наше фсё :)!

DJ Mogarych
15-10-2021, 09:30
Медленно не будет, т. к. не нужно будет ПО от третьих лиц вызывать. WSH как вариант.

Iska
15-10-2021, 17:32
DJ Mogarych, не, первый раз за сеанс PoSH достаточно долго запускается (если система не на SSD).

P.S. Речь, разумеется, про «офисные» машины, нижнего ценового сегмента, средней «свежести».




© OSzone.net 2001-2012