V0lt Цитата: скрип что-то не так делает, хорошо хоть экспериментировал на копии, по-позже разберусь...
Еще бы экперименты проводить на рабочей папке...
Сейчас проверил - вроде, никаких проблем не заметил. Все делает скрипт по твоим пожеланиям...
Может ты имел что-то другое в виду?
Добавлено: а понял. Попробуй так:
Код: ' объявляем массивы замен, в данном случае из двух элементов
dim a(1)
dim b(1)
' заполняем массивы замен, можно использовать регулярные выражения
' например, таким образом можно добавить 0 впереди цифры.
a(0) = "([1-9]+)"
b(0) = "0$1"
' а так убрать конечные пробелы
a(1) = " +$"
b(1) = ""
set fso = createobject("scripting.filesystemobject")
set rexp = createobject("vbscript.regexp")
dirpath = fso.getparentfoldername(wscript.scriptfullname)
subdirs fso.getfolder(dirpath)
sub subdirs(dir)
for each subdir in dir.subfolders
subdirs(subdir)
next
enumfiles(dir)
newname = renfilename(dir.name)
if not fso.fileexists(fso.getparentfoldername(dir) & "\" & newname) _
and newname <> dir.name then dir.name = newname
end sub
sub enumfiles(dir)
for each file in dir.files
newname = renfilename(fso.getbasename(file))
newfilename = newname & "." & fso.getextensionname(file)
if newname <> fso.getbasename(file) then
if fso.fileexists(fso.getparentfoldername(file) & "\" & newfilename) then
fso.deletefile file
elseif file <> wscript.scriptfullname then
file.name = newfilename
end if
end if
next
end sub
function renfilename(filename)
for i = 0 to ubound(a)
rexp.pattern = a(i)
rexp.ignorecase = true
rexp.global = true
filename = rexp.replace(filename, b(i))
next
renfilename = filename
end function