Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как прописать этот путь в переменную? (http://forum.oszone.net/showthread.php?t=250289)

Iwest 30-12-2012 11:51 2056129

Как прописать этот путь в переменную?
 
В 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")

Iska 30-12-2012 17:53 2056271

«Меня терзают смутные сомнения…»
Цитата:

Цитата 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
?

Iwest 30-12-2012 20:48 2056347

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

Iska 31-12-2012 02:18 2056469

Код:

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 31-12-2012 07:38 2056502

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

Iska 31-12-2012 11:04 2056531

Цитата:

Цитата 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


Iwest 31-12-2012 19:14 2056738

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

Iska 01-01-2013 18:37 2057088

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


Время: 19:27.

Время: 19:27.
© OSzone.net 2001-