Компьютерный форум 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=280562)

alexhd 08-04-2014 18:53 2334894

Очиста содержимого файла
 
Здравствуйте.
Нужна помощь в написании скрипта на vbs который будет очищать содержимое файла, например .txt

THEDOGG 08-04-2014 19:12 2334912

alexhd, какого файла ?

Iska 08-04-2014 21:44 2335040

alexhd, пробуйте:
читать дальше »
Код:

Option Explicit

Const ForWriting  = 2

Dim strFile


strFile = "E:\Песочница\0373\0001.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
        If .FileExists(strFile) Then
                With .OpenTextFile(strFile, ForWriting)
                        .Close
                End With
        Else
                WScript.Echo "File [" & strFile & "] not found."
                WScript.Quit 1
        End If
End With

WScript.Quit 0


alexhd 09-04-2014 10:32 2335212

Iska, спасибо, то что надо!

alexhd 09-04-2014 11:31 2335236

Подскажите как быть если нужно очищать два и более файлов и как в скрипте правильно указать путь к профилю пользователя, если указать "%userprofile%\Песочница\0373\0001.txt" то так не отрабатывает?

Iska 09-04-2014 11:52 2335239

Цитата:

Цитата alexhd
как в скрипте правильно указать путь к профилю пользователя, »

Например:
Код:

strFile = WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%UserProfile%\0001.txt")
Цитата:

Цитата alexhd
Подскажите как быть если нужно очищать два и более файлов »

Пробуйте (не проверялось):
читать дальше »
Код:

Option Explicit

Const ForWriting  = 2

Dim arrFiles
Dim strFile

Dim objWshShell


arrFiles = Array("E:\Песочница\0373\0001.txt", "E:\Песочница\0373\0002.txt", "%UserProfile%\0001.txt")

Set objWshShell = WScript.CreateObject("WScript.Shell")

With WScript.CreateObject("Scripting.FileSystemObject")
        For Each strFile In arrFiles
                strFile = objWshShell.ExpandEnvironmentStrings(strFile)
               
                If .FileExists(strFile) Then
                        With .OpenTextFile(strFile, ForWriting)
                                .Close
                        End With
                Else
                        WScript.Echo "File [" & strFile & "] not found."
                End If
        Next
End With

Set objWshShell = Nothing

WScript.Quit 0


alexhd 09-04-2014 12:39 2335261

Iska, отрабатывает так как надо. Еще осталась один нерешенный вопрос для меня-как объединить эту часть кода с другой частью которая выполняет иную задачу, нужно получить на выходе один скрипт вместо двух?

Iska 09-04-2014 16:23 2335329

Цитата:

Цитата alexhd
как объединить эту часть кода с другой частью которая выполняет иную задачу, нужно получить на выходе один скрипт вместо двух? »

Как объединить — зависит от кода «другой части».

alexhd 09-04-2014 16:53 2335349

Вложений: 1
Нужно добавить в начало к скрипту во вложении

Iska 09-04-2014 17:13 2335356

Используйте два скрипта. Не вижу смысла что-то делать, когда первой же строкой идёт «On Error Resume Next».

alexhd 09-04-2014 17:42 2335373

Можно ли тогда использовать какой-то батник или скрипт который будет запускать эти два скрипта по очереди?

Iska 09-04-2014 18:29 2335396

Откуда Вы его хотите запускать?

alexhd 09-04-2014 18:48 2335404

Например, из сетевой шары.

Iska 09-04-2014 19:07 2335412

Код:

@echo off
cscript.exe //nologo "\\Server\Share\Script1.vbs"
cscript.exe //nologo "\\Server\Share\Script2.vbs"

Рекомендую также на всякий случай разрешить использование UNC-путей в качестве текущего каталога согласно: Cmd.exe does not support UNC names as the current directory.

alexhd 10-04-2014 10:34 2335670

Спасибо за помощь!


Время: 07:10.

Время: 07:10.
© OSzone.net 2001-