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

AKadekin 09-08-2019 12:12 2883279

Текстовые файлы
 
Доброе время!
Прошу помощи, для создания батника нужно в текстовый файл нужно удалить знак пробел перед знаком "]" это знак не везде встречается в текстовом файле.

Ageron 09-08-2019 13:30 2883286

обрабатывать нужно 1 текстовой файл?

AKadekin 09-08-2019 13:32 2883288

Да, обрабатывается 1 файл. Имя этих файлов разное но расширение одно.

Elven 09-08-2019 15:30 2883308

0. открываем файл обычным блокнотом
1. нажимаем Ctrl + H
2. В верхнем поле пишем " ]" (без кавычек, разумеется)
3. в нижнем - "]" (опять же без кавычек)
4. нажимаем "Replace all" (или "Заменить все" - кто под каким языком сидит)
5. сохраняем, закрываем

и ненадо придумывать батники.

megaloman 09-08-2019 15:53 2883311

AKadekin, Я Вас умоляю, не связывайтесь с CMD для обработки текстовых файлов. Вот vbs. Взято с мизерными изменениями здесь.
Имя файла можно прописывать явным образом в скрипте, либо указывать в аргументе скрипта в кавычках при вызове, либо создать, например, на рабочем столе значок на этот скрипт и в проводнике затягивать на него мышкой обрабатываемый файл
Код:

FileIn = "Z:\Box_In\playlist.txt"

RegExp = "  *]"
Rep="]"

With WScript.Arguments
    If .Count <> 0 Then FileIn = .Item(0)
End With

With CreateObject("Scripting.FileSystemObject")
    On Error Resume Next
    With .OpenTextFile(FileIn, 1)
        If Err.Number <> 0 Then
            MsgBox "Error open file " + vbCrLf + vbCrLf + FileIn + vbCrLf + vbCrLf + "Err.Number " + CStr(Err.Number) + vbCrLf + Err.Description
            WScript.Quit 1
        End If
        InTxt = .ReadAll
        If Err.Number <> 0 Then
            MsgBox "Error read file " + vbCrLf + vbCrLf + FileIn + vbCrLf + vbCrLf + "Err.Number " + CStr(Err.Number) + vbCrLf + Err.Description
            WScript.Quit 1
        End If
        .Close
        On Error GoTo 0
    End With
           
    With CreateObject("VBScript.RegExp")
        .Pattern = RegExp
        .IgnoreCase = True
        .Global = True
        If Not .Test(InTxt) Then
            MsgBox "no substrings to replace. Reg expression:" + vbCrLf + vbCrLf + """" + RegExp + """"
            WScript.Quit 1
        End If
        Result = .Replace(InTxt, Rep)
    End With
   
    With .CreateTextFile(FileIn, True)
        .Write Result
        .Close
    End With
   
End With
MsgBox "Done!"


AKadekin 09-08-2019 16:45 2883320

так вот он нужен .. так как в день нужно быстро передать и таких файлов может быть много больше 30
Вероятность, что будет ошибка есть.

так вот он нужен .. так как в день нужно быстро передать и таких файлов может быть много больше 30
Вероятность, что будет ошибка есть.

Elven 09-08-2019 17:39 2883328

Цитата:

Цитата AKadekin
обрабатывается 1 файл »

Цитата:

Цитата AKadekin
таких файлов может быть много больше 30 »

вопрос от Ageron задавался не просто так.
Кроме этого хорошо бы знать расположение этих файлов (все в одной папке или в разных, меняется ли расположение этой папки/папок), по какому принципу должны отбираться файлы (нет ли среди тех которые нужно обработать те которые обрабатывать ненужно/нельзя), могут ли быть варианты в которых пробелов перед ] будет больше одного и как поступать в таких случаях. Возможно еще какие-то варианты нужно предусмотреть (кодировку, например), ну и (не факт, но возможно) кто-то затребует пример исходного файла.

megaloman 09-08-2019 21:33 2883360

Если файл один, Имя можно прописывать явным образом в скрипте.
Если один или несколько, их можно перечислить в аргументе скрипта в кавычках при вызове.
Можно создать значок на скрипт на, например, рабочем столе, помечать в проводнике файл или группу файлов и в проводнике затягивать на него мышкой помеченные файлы
Код:

FileIn1 = "Z:\Box_In\playlist.txt"

RegExp = "  *]"
Rep = "]"

ReDim FileIn(0)
MM = 0
FileIn(0) = FileIn1

With WScript.Arguments
    If .Count <> 0 Then
    MM = .Count - 1
    ReDim FileIn(MM)
    For m = 0 To MM
            FileIn(m) = .Item(m)
    Next
    End If
End With

Msg = ""
Set FSO = CreateObject("Scripting.FileSystemObject")
For m = 0 To MM
    If Contr1(FSO, FileIn(m), InTxt, Msg) Then
        If Contr2(FileIn(m), RegExp, InTxt, Rep, Msg) Then
            With FSO.CreateTextFile(FileIn(m), True)
                .Write InTxt
                .Close
                Msg = Msg + FileIn(m) + " ==Done" + vbCrLf
            End With
        End If
    End If
Next
MsgBox Msg

Function Contr1(FSO, fName, txt, MS)
    Contr1 = False
    On Error Resume Next
    With FSO.OpenTextFile(fName, 1)
        If Err.Number <> 0 Then
            MS = MS + "--- " + fName + vbCrLf + "    Error open file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            Exit Function
        End If
        txt = .ReadAll
        If Err.Number <> 0 Then
            MS = MS + "--- " + fName + vbCrLf + "    Error read file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            Exit Function
        End If
        .Close
    End With
    On Error GoTo 0
    Contr1 = True
End Function

Function Contr2(fName, RExp, txt, RR, MS)
    Contr2 = False
    With CreateObject("VBScript.RegExp")
        .Pattern = RExp
        .IgnoreCase = True
        .Global = True
        If Not .Test(txt) Then
            MS = MS + "--- " + fName + vbCrLf + "    no replace." + "    Reg expression: " + """" + RExp + """" + vbCrLf
            Exit Function
        End If
        txt = .Replace(txt, RR)
    End With
    Contr2 = True
End Function


AKadekin 10-08-2019 09:20 2883402

Файлы находятся в одной папке потом они перемещаются в разные папки.
Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке.
После обработки перед перемещением их нужно переименовать в *.MIX (бывший *.AX1 - ложится в одну папку, другой в другую)
Эти файлы содержат разные данные но "структура" одинаковая. В этих файлах нужно перед знаком ] убрать пробел. Там всегда один пробел лишний.
Расположение папок фиксировано не меняется.
Все что нужно.

Файлы находятся в одной папке потом они перемещаются в разные папки.
Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке.
После обработки перед перемещением их нужно переименовать в *.MIX (бывший *.AX1 - ложится в одну папку, другой в другую)
Эти файлы содержат разные данные но "структура" одинаковая. В этих файлах нужно перед знаком ] убрать пробел. Там всегда один пробел лишний.
Расположение папок фиксировано не меняется.
Все что нужно.

Iska 10-08-2019 10:15 2883407

Цитата:

Цитата AKadekin
Файлы находятся в одной папке »

В какой?

Цитата:

Цитата AKadekin
потом они перемещаются в разные папки. »

В какие?

Цитата:

Цитата AKadekin
Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке. »

Какие? Сколько их? Откуда они там возникают? В чём разница между *.AX1 и *.MX1, и есть ли связь между *.AX1 и *.MX1?

Цитата:

Цитата AKadekin
После обработки перед перемещением их нужно переименовать в *.MIX »

А если окажутся одноимённые файлы?

Цитата:

Цитата AKadekin
(бывший *.AX1 - ложится в одну папку »

В какую?

Цитата:

Цитата AKadekin
другой в другую) »

В какую?

Цитата:

Цитата AKadekin
Эти файлы содержат разные данные но "структура" одинаковая. В этих файлах нужно перед знаком ] убрать пробел. Там всегда один пробел лишний. »

Упакуйте по три-четыре типичных разных файла *.AX1 и *.MX1 в архив и приложите к сообщению.

Цитата:

Цитата AKadekin
Расположение папок фиксировано не меняется. »

На всякий случай, ещё раз — какое именно?

P.S. Уберите задвоение текста в Вашем последнем и предпоследнем сообщениях.

YuS_2 10-08-2019 13:00 2883428

Цитата:

Цитата AKadekin
Да, обрабатывается 1 файл. Имя этих файлов разное но расширение одно. »

[когнитивный диссонанс ON]
Он либо один, либо этих файлов больше чем один. Это взаимоисключающие условия.
[когнитивный диссонанс OFF]

Цитата:

Цитата AKadekin
Файлы находятся в одной папке потом они перемещаются в разные папки.
Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке.
После обработки перед перемещением их нужно переименовать в *.MIX (бывший *.AX1 - ложится в одну папку, другой в другую)
Эти файлы содержат разные данные но "структура" одинаковая. В этих файлах нужно перед знаком ] убрать пробел. Там всегда один пробел лишний.
Расположение папок фиксировано не меняется.
Все что нужно. »

powershell
Код:

#requires -v 3.0
# путь к одному каталогу с файлами:
$fldin = 'z:\Путь_к_каталогу_с_файлами\Один_Каталог\*'
# путь к разным, целевым каталогам:
$fldout1 = 'z:\Путь_к_каталогу_с_файлами\AX1'
$fldout2 = 'z:\Путь_к_каталогу_с_файлами\MX1'
# если не существуют, то создаем:
if(!(test-path $fldout1)){md $fldout1|out-null}
if(!(test-path $fldout2)){md $fldout2|out-null}
# фильтр файлов по расширению:
$inc = '*.AX1','*.MX1'
# расширение для переименования:
$ext = '.MIX'
# кодировка:
$enc = 'utf8'

dir $fld -inc $inc -file|%{
        $file = $_
        $tmp = (gc $_.fullname -raw -enc $enc) -replace ' \]',']'
        $tmp|sc $file.fullname -enc $enc
        if ($_.extension -eq '.AX1'){
                mi $_.fullname ("$fldout1\" + $_.basename + $ext)
        } else {
                mi $_.fullname ("$fldout2\" + $_.basename + $ext)
        }
       
}


AKadekin 10-08-2019 13:54 2883435

Это пример одного файлов они по структуре похоже, отличаются только внутренними данными.

Код:

[Descrittore]
Nome=1023022
Descrizione=Klaes
Id=1
Numero record=27 
Ora di Inizio=01/01/2001 23.23.59
Ora di Fine=01/01/2001 23.23.59
[TEIL]
[Record Nr.0 ]
Nr.Riga=1
Id.Record=3014
Lunghezza=662.0
Larghezza=102.0
Spessore=58.0
Quantita=1
Fattil1=0
Fattil2=0


megaloman 10-08-2019 17:53 2883477

AKadekin,
VBS. Пропишите свои пути
Код:

FileIn = Array("Z:\Box_In", "AX1", "Z:\Box_Out1", "MIX", _
                "Z:\Box_In", "MX1", "Z:\Box_Out2", "MIX")

RegExp = "  *]"
Rep = "]"

NN = 4
N1 = LBound(FileIn)
N2 = UBound(FileIn)

ErrMsg = ""
For i = N1 To N2 Step NN
    Call Working(FileIn(i), FileIn(i + 1), FileIn(i + 2), FileIn(i + 3), RegExp, Rep, xDin, xOut, ErrMsg)
Next
'If ErrMsg <> "" Then MsgBox ErrMsg
If ErrMsg <> "" Then WScript.Echo ErrMsg
' =========================

Sub Working(Din, Ein, Dout, Eout, Rx, Rp, iDin, iDout, ErrM)
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If ExistDir(FSO, Din, iDin, ErrM) And ExistDir(FSO, Dout, iOut, ErrM) Then
        Set RegFile = CreateObject("VBScript.RegExp")
        RegFile.Pattern = "^.*\." + Ein + "$"
        RegFile.IgnoreCase = True
       
        For Each jF In iDin.Files
            If RegFile.Test(jF.Name) Then
                If Retxt(FSO, jF, txt, Rx, Rp, ErrM) Then
                    Call Outtxt(FSO, jF, Dout + "\" + FSO.GetBaseName(jF) + "." + Eout, txt, ErrM)
                End If
            End If
        Next
    End If
End Sub

Function ExistDir(FSO, D, iD, ErrM)
    ExistDir = True
    On Error Resume Next
   
    Set iD = FSO.GetFolder(D)
    If Err.Number <> 0 Then
        ErrM = ErrM + "--- """ + D + """" + vbCrLf + "  Open folder. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
        ExistDir = False
    End If
   
    On Error GoTo 0
End Function

Function Retxt(FSO, fName, txt, RExp, RR, MS)
    Retxt = False
    On Error Resume Next
   
    With FSO.OpenTextFile(fName, 1)
        If Err.Number <> 0 Then
            MS = MS + "--- " + fName + vbCrLf + "    Error open file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            Exit Function
        End If
        txt = .ReadAll
        If Err.Number <> 0 Then
            MS = MS + "--- " + fName + vbCrLf + "    Error read file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            Exit Function
        End If
        .Close
    End With
    On Error GoTo 0
   
    With CreateObject("VBScript.RegExp")
        .Pattern = RExp
        .IgnoreCase = True
        .Global = True
        If Not .Test(txt) Then
''''''''''            MS = MS + "--- " + fName + vbCrLf + "    no replace." + "    Reg expression: " + """" + RExp + """" + vbCrLf
            Exit Function
        End If
        txt = .Replace(txt, RR)
    End With
    Retxt = True
End Function

Sub Outtxt(FSO, fIn, fOut, txt, MS)
    On Error Resume Next
   
    Set WW = FSO.CreateTextFile(fOut, True)
    If Err.Number <> 0 Then
            MS = MS + "--- " + fOut + vbCrLf + "    Error create file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            Exit Sub
    End If
   
    WW.Write txt
    If Err.Number <> 0 Then
            MS = MS + "--- " + fOut + vbCrLf + "    Error write in file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            WW.Close
            Exit Sub
    End If
    WW.Close
   
    Err.Number = 0
    If FSO.FileExists(fOut) Then Call FSO.DeleteFile(fIn, True)
    If Err.Number <> 0 Then
            MS = MS + "--- " + fIn + vbCrLf + "    Error delete file. Err.Number=" + CStr(Err.Number) + "  " + Err.Description + vbCrLf
            On Error GoTo 0
            Exit Sub
    End If
    On Error GoTo 0
End Sub

Лучше бы Вы заархивировали реальный файл и приложили к сообщению. Или, если он небольшой, переименуйте его в txt.

AKadekin 12-08-2019 10:15 2883665

Вложений: 1
В архиве находятся файлыФайл 158559

alpap 12-08-2019 11:48 2883690

AKadekin,
если просто пробел мозолит глаза, не проще убрать [] везде по тексту, потому как пробелы в конце строк встречаются и в строках не имеющих этих скобок.
(да, и нужны ли 17 пробелов между абзацами?), т.е. как в дальнейшем будет использоваться этот файл?

megaloman 12-08-2019 16:03 2883733

Вот CMD. Пустые строки съест. VBS работает намного быстрее, но пустые строки сохраняет. Конкретно требований насчёт пустых строк не было. И концевых пробелов тоже
Код:

@Echo Off
        Call :ReMove "Z:\Box_In\*.AF1" "Z:\Box_Out1" "MIX" " ]" "]"
        Call :ReMove "Z:\Box_In\*.AX1" "Z:\Box_Out2" "MIX" " ]" "]"
Exit /B

:ReMove
        For %%f In (%1) Do (
                >"%~2\%%~nf.%~3" (FOR /F "usebackq delims=" %%s IN (`2^>nul More "%%f"`) DO (
                        Call :Replace "%%s" %4 %5
                ))
                If Exist "%~2\%%~nf.%~3" Del "%%f"
        )
Exit /B

:Replace
        Set "SS=%~1"
        :Begin
                Set "SSS=%SS%"
                Call Set "SS=%%SS:%~2=%~3%%"
        If /I Not "%SSS%"=="%SS%" GoTo :Begin
        Echo %SS%
Exit /B


AKadekin 14-08-2019 17:29 2884037

Главное что бы до ] пробел убрать.
Структура должна быть сохранена и столько пробелов нужно.

AKadekin 15-08-2019 08:05 2884090

Прошу помощи, для решения этой проблемы.

YuS_2 15-08-2019 08:32 2884093

AKadekin,
Офигеть... а всё, что предложено выше (cmd, wsh, powershell) - бредятина, которая Вам не помогла? Зачетно...


Хотя, да... в моем скрипте была опечатка в наименовании переменной...
Вот исправленный вариант:
Код:

#requires -v 3.0
# путь к одному каталогу с файлами:
$fldin = 'z:\Путь_к_каталогу_с_файлами\Один_Каталог\*'
# путь к разным, целевым каталогам:
$fldout1 = 'z:\Путь_к_каталогу_с_файлами\AF1'
$fldout2 = 'z:\Путь_к_каталогу_с_файлами\AX1'
# если не существуют, то создаем:
if(!(test-path $fldout1)){md $fldout1|out-null}
if(!(test-path $fldout2)){md $fldout2|out-null}
# фильтр файлов по расширению:
$inc = '*.AF1','*.AX1'
# расширение для переименования:
$ext = '.MIX'
# кодировка:
$enc = 'utf8'

dir $fldin -inc $inc -file|%{
        $file = $_
        $tmp = (gc $_.fullname -raw -enc $enc) -replace ' \]',']'
        $tmp|sc $file.fullname -enc $enc
        if ($_.extension -eq '.AF1'){
                mi $_.fullname ("$fldout1\" + $_.basename + $ext)
        } elseif ($_.extension -eq '.AX1') {
                mi $_.fullname ("$fldout2\" + $_.basename + $ext)
        }
       
}

Но и Вы, при составлении условий не торопитесь, описывайте их полно и правильно, а то есть вот такое несоответствие:
Цитата:

Цитата AKadekin
Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке. »

после чего показываете пример двух файлов, с таким наименованием:
1023000.AF1
1023000.AX1
что явно не соответствует *.AX1 и *.MX1

megaloman 15-08-2019 11:02 2884119

AKadekin, что конкретно не устроило в этом моём решении? Оно полностью отвечает поставленной Вами задаче.
Код сохраните в файл с расширением .vbs.
Цитата:

FileIn = Array("Z:\Box_In", "AX1", "Z:\Box_Out1", "MIX", _
"Z:\Box_In", "MX1", "Z:\Box_Out2", "MIX")
Здесь надо прописать свои пути и расширения файлов по предложенному образцу.
Одна строка соответствует одному сценарию обработки.

Здесь в первой строке в кавычках:
В папке "Z:\Box_In"
Надо обработать все файлы с расширением "AX1"
Поместить обработанные в папку "Z:\Box_Out1"
При этом изменить им расширение на "MIX"

В чём трудность прописать свои данные?

Во второй строке аналогично для второго расширения файлов
И таких строк может быть сколько угодно (Вы заказали 2 варианта)
Запускаете скрипт как любой исполнимый файл.

Кстати, это решение можно поместить в назначенные задания, чтобы скрипт исполнялся с некоторой периодичностью без Вашего дополнительного вмешательства:
Cscript "Путь\имяскрипта.vbs"

В чем у Вас непонимание? Вы хоть раз пытались запустить этот скрипт?. Или иной из предложенных Вам решений? Какой при этом результат получили? Чтобы Вам помочь, нужна адекватная обратная связь, а пустые стенания
Цитата:

Прошу помощи, для решения этой проблемы.
после предложенных вариантов не дает возможности это сделать.

AKadekin 15-08-2019 17:08 2884228

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

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

megaloman 15-08-2019 17:10 2884230

AKadekin,
Цитата:

Цитата AKadekin
У меня проблема в том, что нужно убрать перед знаком ] пробел »

Приведенный скрипт решает эту задачу.
Я уже себе перестал верить: взял Ваши файлы, еще раз их обработал, получил нужный результат. Или Вы не запускали мой скрипт, либо файлы, представленные Вами, нерабочие: например, в иной кодировке, либо в Вашем реальном файле перед ] не пробел.
И хотелось бы иметь более энергичный диалог, а не реакцию раз в сутки.

YuS_2 15-08-2019 19:45 2884258

Цитата:

Цитата AKadekin
как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел »

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

greg zakharov 15-08-2019 21:38 2884267

С помощью sed:
Код:

sed -i "s/ ]/]/g" input.txt

AKadekin 16-08-2019 17:19 2884374

YuS_2, как правильно его запустить... запустить как bat файл, он не отработает.

YuS_2 16-08-2019 17:26 2884376

Цитата:

Цитата AKadekin
запустить как bat файл, он не отработает. »

Вчера написал, в аналогичной ситуации, инструкцию для запуска скрипта powershell

AKadekin 16-08-2019 17:27 2884377

YuS_2, Спасибо все получилось работает

AKadekin 16-08-2019 22:19 2884399

YuS_2, Спасибо все получилось работает

AKadekin 19-08-2019 09:44 2884690

YuS_2,
Большое спасибо, скрипт работает. Подскажите, а почему он сохраняет результат в формате utf8 c BOM.
Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM

Спасибо, я решил эту проблему

YuS_2 19-08-2019 12:25 2884707

Цитата:

Цитата AKadekin
Подскажите, а почему он сохраняет результат в формате utf8 c BOM. »

Потому, что такой формат используется в powershell до версии 5.1 и utf8 без BOM, в командлетах не был предусмотрен.

Цитата:

Цитата AKadekin
Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM »

Варианты есть, один из которых - установка powershell версии 6.0 или выше, где присутствует кодировка UTF8NoBOM
Цитата:

Encodes in UTF-8 format. - UTF8BOM : Encodes in UTF-8 format with Byte Order Mark (BOM) - UF8NOBOM : Encodes in UTF-8 format without Byte Order Mark (BOM)
либо можно воспользоваться классом .net UTF8Encoding:
Код:

#requires -v 3.0
# путь к одному каталогу с файлами:
$fldin = 'z:\Путь_к_каталогу_с_файлами\Один_Каталог\*'
# путь к разным, целевым каталогам:
$fldout1 = 'z:\Путь_к_каталогу_с_файлами\AF1'
$fldout2 = 'z:\Путь_к_каталогу_с_файлами\AX1'
# если не существуют, то создаем:
if(!(test-path $fldout1)){md $fldout1|out-null}
if(!(test-path $fldout2)){md $fldout2|out-null}
# фильтр файлов по расширению:
$inc = '*.AF1','*.AX1'
# расширение для переименования:
$ext = '.MIX'
# кодировка:
$enc = 'utf8'
$utf8 = new-object system.text.utf8encoding $false

dir $fldin -inc $inc -file|%{
        $file = $_
        $tmp = (gc $_.fullname -raw -enc $enc) -replace ' \]',']'
        $utf8.getbytes($tmp)|sc $file.fullname -enc byte
        if ($_.extension -eq '.AF1'){
                mi $_.fullname ("$fldout1\" + $_.basename + $ext)
        } elseif ($_.extension -eq '.AX1') {
                mi $_.fullname ("$fldout2\" + $_.basename + $ext)
        }
       
}

есть ещё и другие варианты, конечно, но думаю, что для достижения цели, этого вполне хватит...


Время: 22:06.

Время: 22:06.
© OSzone.net 2001-