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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как прописать этот путь в переменную?

Ответить
Настройки темы
VBS/WSH/JS - Как прописать этот путь в переменную?

Новый участник


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


Конфигурация

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


В Windows XP по этому пути находится файл: C:\Documents and Settings\Gert\Application Data\Replica\New\1.txt путь до файла прописывается так:
strFile = .BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path, "Replica\New\1.txt")

А вот как прописать этот путь находящийся в Windows 7: C:\Users\All users\Replica\New\1.txt в скрипте?
strFile = .BuildPath(WScript.CreateObject("...").NameSpace("...").self.Path, "Replica\New\1.txt")

Отправлено: 11:51, 30-12-2012

 

Ветеран


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

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


«Меня терзают смутные сомнения…»
Цитата Iwest:
путь до файла прописывается так:
strFile = .BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path, "Replica\New\1.txt") »
Отсюда что ль?


Цитата Iwest:
А вот как прописать этот путь находящийся в Windows 7: C:\Users\All users\Replica\New\1.txt в скрипте? »
Например, так:
Код: Выделить весь код
Option Explicit

Dim objFSO
Dim objShell

Set objFSO   = WScript.CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("Shell.Application")

WScript.Echo objFSO.GetAbsolutePathName(objFSO.BuildPath(objShell.NameSpace("shell:Common Documents").self.Path, "..\Replica\New\1.txt"))

Set objShell = Nothing
Set objFSO   = Nothing

WScript.Quit 0
Если Вы, конечно, не пропустили в пути ничего. Точно не:
Код: Выделить весь код
C:\Users\All users\AppData\Replica\New\1.txt
?

Отправлено: 17:53, 30-12-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


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

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


Да, скрипт нашел там, но там как понял для XP. Путь точно такой: C:\Users\All users\Replica\New\. По нему находятся два файла 1.txt и App.bk. В чем задача: проверить что они есть на компе и если есть поставить им атрибут чтение. Ну а как вывести сообщение там показано. Попробовал скрипт с одним 1.txt, выводит что файла нет, хотя он есть.

Отправлено: 20:48, 30-12-2012 | #3


Ветеран


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

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


Код: Выделить весь код
Option Explicit

Dim strFile
Dim strPath

With WScript.CreateObject("Scripting.FileSystemObject")
	For Each strFile In Array("1.txt", "App.bk")
		strPath = .GetAbsolutePathName(.BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:Common Documents").self.Path, "..\Replica\New\" & strFile))
		
		If .FileExists(strPath) Then
			With .GetFile(strPath)
				If Not .Attributes And 1 Then
					.Attributes = .Attributes Or 1
				End If
			End With
		End If
	Next
End With

WScript.Quit 0
Из этого:
Цитата Iwest:
проверить что они есть на компе и если есть …»
видно, что смысла в сообщениях вида «Файл не найден» нет.

Отправлено: 02:18, 31-12-2012 | #4


Новый участник


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

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


Не получается, походу не находит путь до файлов. А как то проверку выполнения можно сделать, чтобы узнать в чем проблема?

Отправлено: 07:38, 31-12-2012 | #5


Ветеран


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

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


Цитата Iwest:
А как то проверку выполнения можно сделать, чтобы узнать в чем проблема? »
Ну, сделайте:
Код: Выделить весь код
Option Explicit

Dim strFile
Dim strPath

With WScript.CreateObject("Scripting.FileSystemObject")
	For Each strFile In Array("1.txt", "App.bk")
		strPath = .GetAbsolutePathName(.BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:Common Documents").self.Path, "..\Replica\New\" & strFile))
		
		If .FileExists(strPath) Then
			With .GetFile(strPath)
				If Not .Attributes And 1 Then
					.Attributes = .Attributes Or 1
				End If
			End With
		Else
			WScript.Echo "File [" & strPath & "] not found."
		End If
	Next
End With

WScript.Quit 0

Отправлено: 11:04, 31-12-2012 | #6


Новый участник


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

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


Выводится два сообщения что файлов нет. С:\Пользователи\All Users\Replica\New\ файлы на месте. Надоел уже наверное.

Отправлено: 19:14, 31-12-2012 | #7


Ветеран


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

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


Iwest, мне надо будет добраться до соответствующей версии и попробовать самому посмотреть, что возвращает Проводник.

Отправлено: 18:37, 01-01-2013 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как прописать этот путь в переменную?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как правильно прописать путь к папке DeZMoN Скриптовые языки администрирования Windows 2 17-03-2011 06:58
[решено] Как прописать путь Centrinar AutoIt 3 09-03-2011 02:17
Suse/OpenSuSE - Куда прописать переменную окружения? Endy1 Общий по Linux 7 07-01-2010 12:13
как прописать путь через вторую сетевушку xaVex Сетевые технологии 1 04-02-2006 18:09
(solved)Как получить переменную, содержащую путь к директории Documents and Settings? arial Автоматическая установка Windows 2000/XP/2003 12 15-11-2005 15:58




 
Переход