'================================================
' Замена в именах выделенных папок/файлов
' первых одинаковых символов на их число
' Параметры: %WL <заменяемый символ>
'================================================
With WScript.Arguments
If .Count = 0 Then WScript.Quit
List = .Item(0) : Symbol = .Item(1)
End With
With CreateObject("Scripting.FileSystemObject")
Set TF = .GetFile(List).OpenAsTextStream(1, -1)
Do Until TF.AtEndOfStream
F = TF.ReadLine
If F > vbNullString Then
FN = .GetFileName(F) : n = 1
If InStr(FN, Symbol) = 1 Then
Do While Symbol = Mid(FN, n, 1) : n = n + 1 : Loop
If .FolderExists(F) Then .GetFolder(F).Name = n - 1 & Mid(FN, n) _
Else .GetFile(F).Name = n - 1 & Mid(FN, n)
End If
End If
Loop
End With
Последний раз редактировалось Flasher Пн апр 16, 2012 14:34, всего редактировалось 1 раз.
shveicar писал(а):У меня, после первого варианта - комп завис..
На будущее: если скрипт с первой попытки ничего не делает или начинаются тормоза, то нужно быстренько открыть диспетчер (например, AceHelper) по хоткею, посмотреть нет ли там процессов Wscript.exe и воспользоваться кнопкой со скриптом для убийства всех процессов WScript. Если процесс один, то можно это делать сразу через диспетчер.