|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. |
|
|
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла.
|
|
Пользователь Сообщения: 78 |
Доброго здоровья...
Есть BATничек: echo off Set MainDir=%~dp0 echo "%~n1">"%~n1.txt"|findstr /v "%~n1" %~n1.txt > %~n1.txt|md "%~n1" move "%~n1.txt" "%~n1" echo %1|mkdir "%~n1" move "%1" "%~n1" Вопрос, к Уважаемым знатокам-программистам:"Что или как нужно добавить в BAT-ник, что бы он заработал для многих файлов. Простите, если этот вопрос Вас смешит или раздражает, заинтересовался BAT и VBS совсем недавно, очень интересно. Буду рад любому совету.Можно варианты на VBS... Заранее благодарен.Сергей. |
|
|
Отправлено: 22:58, 27-01-2011 |
|
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Упорно поковырявшись, просмотрев много примеров и прочитав немного полезной информации, дописал BATник.
Для меня это неожиданно, но вот так - @Echo off if exist "%~n1\%~n1.txt" ( :DEFAULT Echo MsgBox "Объект ""%~n1\%~n1.txt"" , уже существует !" > msg.vbs wscript msg.vbs del msg.vbs ( goto BREAK10 )else if not exist "%~n1\%~n1.txt" ( echo "%~n1">"%~n1.txt"|findstr /v "%~n1" "%~n1.txt">"%~n1.txt"|md "%~n1" move "%~n1.txt" "%~n1" ) else ( goto DEFAULT ) :BREAK10 if exist "%~n1\%~nx1" ( :DEFAULT Echo MsgBox "Объект ""%~n1\%~nx1"" , уже существует !" > msg.vbs wscript msg.vbs del msg.vbs ( goto BREAK10 )else if not exist "%~dp0\%~n1\%~nx1" ( echo "%~nx1"|mkdir "%~n1" move "%~nx1" "%~n1" ) else ( goto DEFAULT ) :BREAK10 В принципе вопрос решён... |
|
Отправлено: 01:44, 29-01-2011 | #2 |
|
Пользователь Сообщения: 78
|
Профиль | Отправить 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
Объясните, пожалуйста, если у кого-нибудь найдётся свободное время и желание. Заранее благодарен... |
|
Отправлено: 11:58, 30-01-2011 | #3 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Сохранение txt-файла в папку пользователя | zvezda_t | Вебмастеру | 5 | 14-09-2010 17:52 | |
| программа для чистки txt файла | Baiker | Хочу все знать | 7 | 13-09-2010 20:20 | |
| CMD/BAT - [решено] удалить строчки из файла a.txt | spilberg | Скриптовые языки администрирования Windows | 19 | 20-07-2009 17:49 | |
| VBS/WSH/JS - помогите с написанием парсера txt файла | NAW1986 | Скриптовые языки администрирования Windows | 2 | 15-06-2009 09:18 | |
| CMD/BAT - [решено] печать txt файла | Loki3D | Скриптовые языки администрирования Windows | 15 | 12-05-2009 16:35 | |
|