Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Вот, то же самоё на VBS:
Код: Выделить весь код
Dim objWshShell, strFileName, strFullFileName
Dim strFullFolderName
Set objFSO      = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")

 If WScript.Arguments.Count = 1 Then
   sFile   = WScript.Arguments.Item(0)
   Set fso = CreateObject("Scripting.FileSystemObject")
   strFileName = sFile
 End If

STR = strFileName
   intLength = Len(str) 
   intCharacters = intLength - 4 
   strNew = Left(str, intCharacters) 

   strFullFolderName = objFSO.BuildPath(objWshShell.SpecialFolders("C , D ,"), strNew)
 If objFSO.FolderExists(strFullFolderName) Then
result = MsgBox ("Папка """& strFullFolderName &""" уже существует."  & Chr(10) & "Выберите действие:" & Chr(10) &  " "  & Chr(10) & """Да"" - переименовать папку в """& strFullFolderName & "_OLD""""" & Chr(10) & "и продолжить работу."  & Chr(10) & """Нет"" - окрыть существующую папку для просмотра." & Chr(10) & """Отмена"" - завершить работу.", vbYesNoCancel, "Выбор действия.")
 Select Case result
  Case vbYes
 if objFSO.FolderExists(strFullFolderName & "_OLD") Then
    objFSO.DeleteFolder strFullFolderName & "_OLD"
    objFSO.MoveFolder strFullFolderName , strFullFolderName & "_OLD"
    objFSO.CreateFolder strFullFolderName
      WScript.Sleep 500 
 Else 
    objFSO.MoveFolder strFullFolderName , strFullFolderName & "_OLD"
    objFSO.CreateFolder strFullFolderName
      WScript.Sleep 500 
 end if
  Case vbNo
   objWshShell.Run(strFullFolderName & "\") 
      WScript.Quit 0  
  Case vbCancel
      WScript.Quit 0  
 End Select 
 Else
    objFSO.CreateFolder strFullFolderName   ' 40-стр
 End If

   strFullFileName = objFSO.BuildPath(objWshShell.SpecialFolders("C , D ,"), strNew)
    objFSO.CreateTextFile strFullFileName & ".txt"
    objFSO.MoveFile strFullFileName & ".txt" , strFullFileName & "\"

   strFullFileName = objFSO.BuildPath(objWshShell.SpecialFolders("C , D ,"), strFileName)
    objFSO.MoveFile strFullFileName , strFullFolderName & "\"
'Можем открыть папку для просмотра, если надо:
'    objWshShell.Run("Explorer" &" " & strFullFolderName & "\")

Set objWshShell = Nothing
Set objFSO      = Nothing
  WScript.Quit 0
Не понятно только - почему работает только для 22-х файлов. Или это особенности операционной системы(может у меня, что-то не работает?) или я чего-то не догоняю.
Объясните, пожалуйста, если у кого-нибудь найдётся свободное время и желание.
Заранее благодарен...

Отправлено: 11:58, 30-01-2011 | #3