VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
-
OSArev
-
Sta1917
Re: VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
Можно убрать запрос на перезапись, чтоб было как в Windows, просто добавление номера? Спасибо.
-
Sta1917
Re: VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
Sta1917, послушайте, в предыдущем примере всё расписано. Неужели так трудно, подумав удалить ненужные строки?
Код:
Код:
Код: Выделить всё
Option Explicit
Call CreateFile
WScript.Quit 0
Function CreateFile
Dim FSO, WshShell, sFile, PathName, i, strName, N
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
sFile = "Readme"
'Определяем,где находимся(только для контекстного меню)
If WScript.Arguments.Count = 1 Then
PathName = WScript.Arguments.Item(0)
End if
'Создание
If FSO.FileExists(PathName & "\" & sFile & ".txt") Then
With FSO
i = 0
Do
i = i + 1
If i 0 Then strName = sFile & " _" & CStr(i) & ".txt"
If Not .FileExists(.BuildPath(PathName, strName)) Then
fso.CreateTextFile(PathName & "\" & strName)
Exit Do
End If
Loop
End With
WshShell.Run("%windir%\notepad " & PathName & "\" & strName)
Else
'Если ещё нет файла с ук.названием
fso.CreateTextFile(PathName & "\" & sFile & ".txt")
WshShell.Run("%windir%\notepad " & PathName & "\" & sFile & ".txt")
End if
End Function-
Sta1917
Re: VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
OSArev, я совсем далек даже простейшего программирования. Попробовал методом тыка убрать строки, получилось создание только первого файла, вот и обратился к профи.
-
Sta1917
Re: VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
Sta1917, я далеко не профи, сам многому учусь, разбирая скрипты старейшин этого форума. Им огромноё, человеческое спасибо!
-
OSArev
Re: VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
Цитата OSArev:
Хотите ли Вы перезаписать существующий файл?"& vbCrLf & vbCrLf & _
"ДА - перезапись существующего файла."& vbCrLf & _
"Нет - к имени нового файла будет добавлено числовле значение.
Скрипты почти то что искал, чтоб окошечко с предложением замены, либо нового. Но можно ли в него добавить функцию, чтоб при создании добавлялся текст, который в буфере обмена? Вот тот мой скрипт с добавлением, с ним бы объединить ваш.
Dim FSO, MyFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("text")
Randomize()
FileName=Inputbox("Введите имя:","FolderCreator","Введите имя")
'Проверка на существование файла и создание.
'Добавил открытие файла
If FSO.FileExists(FileName & ".txt") Then
WScript.Echo "Документ ''"& FileName & ".txt" & "'' - уже существует."
WshShell.Run("Explorer" &" " & FileName & ".txt")
WScript.Quit 0
Else
End If
set oFile = CreateObject("Scripting.FileSystemObject").OpenTextFile("" & FileName & ".txt", 2, True)
ofile.WriteLine(clipboard)
Хотите ли Вы перезаписать существующий файл?"& vbCrLf & vbCrLf & _
"ДА - перезапись существующего файла."& vbCrLf & _
"Нет - к имени нового файла будет добавлено числовле значение.
VBS/WSH/JS - [решено] Контекстное меню -> Новый текстовый документ.
Скрипты почти то что искал, чтоб окошечко с предложением замены, либо нового. Но можно ли в него добавить функцию, чтоб при создании добавлялся текст, который в буфере обмена? Вот тот мой скрипт с добавлением, с ним бы объединить ваш.
Dim FSO, MyFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("text")
Randomize()
FileName=Inputbox("Введите имя:","FolderCreator","Введите имя")
'Проверка на существование файла и создание.
'Добавил открытие файла
If FSO.FileExists(FileName & ".txt") Then
WScript.Echo "Документ ''"& FileName & ".txt" & "'' - уже существует."
WshShell.Run("Explorer" &" " & FileName & ".txt")
WScript.Quit 0
Else
End If
set oFile = CreateObject("Scripting.FileSystemObject").OpenTextFile("" & FileName & ".txt", 2, True)
ofile.WriteLine(clipboard)