Да, обрабатывается 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)
}
}