Как прописать этот путь в переменную?
В 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")
|
«Меня терзают смутные сомнения…»
Цитата:
Цитата 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
?
|
Да, скрипт нашел там, но там как понял для XP. Путь точно такой: C:\Users\All users\Replica\New\. По нему находятся два файла 1.txt и App.bk. В чем задача: проверить что они есть на компе и если есть поставить им атрибут чтение. Ну а как вывести сообщение там показано. Попробовал скрипт с одним 1.txt, выводит что файла нет, хотя он есть.
|
Код:
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
проверить что они есть на компе и если есть … »
|
видно, что смысла в сообщениях вида «Файл не найден» нет.
|
Не получается, походу не находит путь до файлов. А как то проверку выполнения можно сделать, чтобы узнать в чем проблема?
|
Цитата:
Цитата 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
|
Выводится два сообщения что файлов нет. С:\Пользователи\All Users\Replica\New\ файлы на месте. Надоел уже наверное.
|
Iwest, мне надо будет добраться до соответствующей версии и попробовать самому посмотреть, что возвращает Проводник.
|
Время: 19:27.
© OSzone.net 2001-