|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. |
|
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла.
|
Пользователь Сообщения: 78 |
Профиль | Отправить PM | Цитировать Доброго здоровья...
Есть 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 |
|