shao,
оба кода и *.vbs и *.bat работают (
проверено на WinVista OS)
независимо от разделителей и оба можно переделать под вызов из cmd, чтобы каждый раз не редактировать код
Код:
![Выделить весь код](images/misc/selectcode.png)
Option Explicit
Dim objFSO, objFile
Dim strPath2SourceFolder, strSourceName, strSourceEnd
Dim intPrefix, intpostfix, strobjFileName, strobjFileExtension
Dim intErrLevel
strPath2SourceFolder = "F:\2\part_name\dir_0014"
strSourceName="luna_msstyles_BLUE_"
strSourceEnd="_BMP"
intPrefix = Len(strSourceName)
intpostfix = Len(strSourceEnd)
intErrLevel = 0
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strPath2SourceFolder) Then
For Each objFile In objFSO.GetFolder(strPath2SourceFolder).Files
If UCase(Left(objFile.Name, intPrefix)) = UCase(strSourceName) Then
strobjFileName = Replace(objFSO.GetBaseName(objfile.Name), strSourceName, "",1)
strobjFileName = Replace(strobjFileName, strSourceEnd, "",1)
strobjFileExtension = Mid(objFSO.GetExtensionName(objFile.Name),1)
objFile.COPY strPath2SourceFolder & "\" & strobjFileName & "." & strobjFileExtension
objFile.Delete
End If
Next
Else
WScript.Echo "Source folder [" & strPath2SourceFolder & "] is not exists."
intErrLevel = 1
End If
Set objFSO = Nothing
WScript.Quit intErrLevel
shao ты просил пояснения...
код
El Sanchez - отличный код, очень лаконичный, но не сработает если в названиях папок пути будут присутствовать "delims", поэтому маленький upgrade:
For %%A In ("%Source%") Do (
For /F "Tokens=2" %%B In (
"%%~nA") Do (
Ren "%%A" %%B.
%%~xA))
справка в cmd - for /?
подсказка...
http://www.windowsfaq.ru/content/category/3/19/57/
http://forum.oszone.net/post-1444713-12.html
http://www.script-coding.info/WSH.html