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

mitcu 19-06-2020 11:25 2925520

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

Название_2000-01-01
Название_2000-01-02
Название_2000-01-03
Название_2000-01-04
Название_2000-01-05

Название_ГГГГ-ДД-ММ - и т.д (до бесконечности)

Нужно удалить везде "Название_"
а оставить везде ГГГГ-ДД-ММ и привести к следующей структуре

2000-01-01
2000-01-02
2000-01-03
2000-01-04

Fors1k 19-06-2020 12:00 2925525

Код:

param(
    $path  = 'C:\Files\',
    $string = 'Название_'
)cls

(gci $path -directory).FullName|
%{ren $_ $_.Replace($string,'')}


greg zakharov 22-06-2020 17:10 2925904

Можно и sed'ом обойтись:
Код:

sed "s/.*_\(.*\)/\1/" dirname
В боевых условиях прогоняете сие через цикл и ловите волшебный трип счастье.

megaloman 22-06-2020 18:03 2925912

Код:

@Echo Off
        Set "BoxIn=Z:\Box_In"
        Set "Mask=*_20??-??-??"

        FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:D`) DO Set "Name=%%~d" &Call Ren "%BoxIn%\%%~d" "%%Name:~-10%%"
Exit /B



Время: 02:08.

Время: 02:08.
© OSzone.net 2001-