VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Аватара пользователя
madars1

VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение madars1 »

Здравствуйте! Нужен скрипт, который создает папку, названную текстом из буфера обмена, а внутри этой

папки создается текстовый файл с именем из буфера, либо с любым именем.

при запуске скрипта желательно что бы само зашло в только что созданную папку и открылся только что созданный текстовый файл.

А еще скромное пожелание: Изображение можно что бы в этот текстовый файл вставился полный путь в свежесозданную папку или же этот путь скопировался в буфер обмена?





-------------------

пример: копирую имя машины с браузера, запускаю скрипт - создается папка с именем машины(для примера лада), мне в буфер обмена вставляется полный путь в папку с именем лада,



* это примерно этот скрипт?

VBS/WSH/JS - [решено] переименовать файл - имя из буфера
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение Iska »

Цитата madars1:



* это примерно этот скрипт?
VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри




Именно что «примерно».




Цитата madars1:



запускаю скрипт
VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри




Как именно «запускаю»?




Цитата madars1:



создается папка с именем машины(для примера лада)
VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри




Где будет создаваться каталог с именем машины (учитывая то, что полного пути в буфере обмена нет)?
Аватара пользователя
madars1

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение madars1 »

спасибо большое! все работает!

а если я захочу, можно сделать - что бы в папку заходило не в проводнике, а в самом total commander'e ?



Это я просто спросить Изображение
Аватара пользователя
madars1

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение madars1 »

madars1, ага, теперь ясно — заранее известный каталог, это другое дело.



Особого смысла в:


Цитата madars1:



что бы в этот текстовый файл вставился полный путь в свежесозданную папку
VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри




я не вижу, но как скажете:



Скрытый текст

[spoiler]"C:\Мои проекты\0248\0003.vbs"



Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Const strParentPath = "C:\Мои проекты\0248"
'Const strParentPath = "F:\модели\машины\коллекция"
Dim strClipboardContent
Dim strSourceFolder
Dim objFolder
Dim strSourceFile
With WScript.CreateObject("Scripting.FileSystemObject")
	If .FolderExists(strParentPath) Then
		strClipboardContent = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
		strSourceFolder = .BuildPath(strParentPath, strClipboardContent)
		If Not .FolderExists(strSourceFolder) Then
			Set objFolder = .CreateFolder(strSourceFolder)
		Else
			Set objFolder = .GetFolder(strSourceFolder)
		End If
		strSourceFile = .BuildPath(objFolder.Path, strClipboardContent & ".txt")
		If Not .FileExists(strSourceFile) Then
			With .CreateTextFile(strSourceFile)
				.WriteLine objFolder.Path
				.Close
			End With
		End If
		With WScript.CreateObject("Shell.Application")
			.Explore objFolder.Path
			.NameSpace(objFolder.Path).Items.Item(strClipboardContent & ".txt").InvokeVerb("Open")
			WScript.Sleep 1000
		End With
		Set objFolder = Nothing
	Else
		WScript.Echo "Can't find source path [" & strParentPath & "]."
		WScript.Quit 1
	End If
End With
WScript.Quit 0

Изображение





Замените мои пути своими.
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение Iska »

Выдает ошибку (сделал на всякий случай тестовый каталог как у вас)



Как я делал:

1. total commander \ меню тотала командера \ настройка меню "'запуск" \ там указал директорию к скрипту





тело скрипта

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Const strParentPath = "c:\Мои проекты\0248\"
'Const strParentPath = "F:\\\"
Dim strClipboardContent
Dim strSourceFolder
Dim objFolder
Dim strSourceFile
With WScript.CreateObject("Scripting.FileSystemObject")
	If .FolderExists(strParentPath) Then
		strClipboardContent = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
		strSourceFolder = .BuildPath(strParentPath, strClipboardContent)
		If Not .FolderExists(strSourceFolder) Then
			Set objFolder = .CreateFolder(strSourceFolder)
		Else
			Set objFolder = .GetFolder(strSourceFolder)
		End If
		strSourceFile = .BuildPath(objFolder.Path, strClipboardContent & ".txt")
		If Not .FileExists(strSourceFile) Then
			With .CreateTextFile(strSourceFile)
				.WriteLine objFolder.Path
				.Close
			End With
		End If
		With WScript.CreateObject("Shell.Application")
			.Explore objFolder.Path
			.NameSpace(objFolder.Path).Items.Item(strClipboardContent & ".txt").InvokeVerb("Open")
			WScript.Sleep 1000
		End With
		Set objFolder = Nothing
	Else
		WScript.Echo "Can't find source path [" & strParentPath & "]."
		WScript.Quit 1
	End If
End With
WScript.Quit 0













Выдает ошибку:



Аватара пользователя
madars1

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение madars1 »

Выдает ошибку (сделал на всякий случай тестовый каталог как у вас)



Как я делал:

1. total commander \ меню тотала командера \ настройка меню "'запуск" \ там указал директорию к скрипту





тело скрипта

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Const strParentPath = "c:\Мои проекты\0248\"
'Const strParentPath = "F:\\\"
Dim strClipboardContent
Dim strSourceFolder
Dim objFolder
Dim strSourceFile
With WScript.CreateObject("Scripting.FileSystemObject")
	If .FolderExists(strParentPath) Then
		strClipboardContent = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
		strSourceFolder = .BuildPath(strParentPath, strClipboardContent)
		If Not .FolderExists(strSourceFolder) Then
			Set objFolder = .CreateFolder(strSourceFolder)
		Else
			Set objFolder = .GetFolder(strSourceFolder)
		End If
		strSourceFile = .BuildPath(objFolder.Path, strClipboardContent & ".txt")
		If Not .FileExists(strSourceFile) Then
			With .CreateTextFile(strSourceFile)
				.WriteLine objFolder.Path
				.Close
			End With
		End If
		With WScript.CreateObject("Shell.Application")
			.Explore objFolder.Path
			.NameSpace(objFolder.Path).Items.Item(strClipboardContent & ".txt").InvokeVerb("Open")
			WScript.Sleep 1000
		End With
		Set objFolder = Nothing
	Else
		WScript.Echo "Can't find source path [" & strParentPath & "]."
		WScript.Quit 1
	End If
End With
WScript.Quit 0













Выдает ошибку:



Вложения

[Расширение jpg было запрещено, вложение больше недоступно.]

Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение Iska »

Цитата Iska:



Давайте попробуем вывести путь нашего каталога:
VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри




Извините пожалуйста, а куда вышеприведенный код вставлять?
Аватара пользователя
madars1

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение madars1 »

madars1, выделенное вставить между двумя невыделенными инструкциями.
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение Iska »

madars1, выделенное вставить между двумя невыделенными инструкциями.
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] создать папку с текстовым файлом внутри

Сообщение Iska »

что у меня получилось

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Const strParentPath = "c:\Мои проекты\0248\"
Dim strClipboardContent
Dim strSourceFolder
Dim objFolder
Dim strSourceFile
With WScript.CreateObject("Scripting.FileSystemObject")
	If .FolderExists(strParentPath) Then
		strClipboardContent = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
		strSourceFolder = .BuildPath(strParentPath, strClipboardContent)
		WScript.Echo "[" & strSourceFolder & "]"
		If Not .FolderExists(strSourceFolder) Then
			Set objFolder = .CreateFolder(strSourceFolder)
		Else
			Set objFolder = .GetFolder(strSourceFolder)
		End If
		strSourceFile = .BuildPath(objFolder.Path, strClipboardContent & ".txt")
		If Not .FileExists(strSourceFile) Then
			With .CreateTextFile(strSourceFile)
				.WriteLine objFolder.Path
				.Close
			End With
		End If
		With WScript.CreateObject("Shell.Application")
			.Explore objFolder.Path
			.NameSpace(objFolder.Path).Items.Item(strClipboardContent & ".txt").InvokeVerb("Open")
			WScript.Sleep 1000
		End With
		Set objFolder = Nothing
	Else
		WScript.Echo "Can't find source path [" & strParentPath & "]."
		WScript.Quit 1
	End If
End With
WScript.Quit 0


1. теперь после запуска скрипта выскакивает сначала это:



2. а затем вот это:

Ответить

Вернуться в «Скриптовые языки администрирования Windows»