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

epoddubniy 05-05-2022 16:51 2984471

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

Код
Код:

$Data=Get-Date -Format "dd.MM.yyyy"
$creation_time_lt='-1'
$creation_time_ge='-2'
$object_options='$_.creationtime -lt (get-date).date.adddays($creation_time_lt) -and $_.creationtime -ge (get-date).date.adddays($creation_time_ge)'
Get-ChildItem "С:\test" -Recurse | where-object {$object_options}

из вот этой части кода
Код:

Get-ChildItem "С:\test" -Recurse | where-object {$object_options}
выполнилась только эта часть
Код:

Get-ChildItem "С:\test" -Recurse | where-object {$object_options}

Fors1k 05-05-2022 19:06 2984485

Код:

$Date = Get-Date
$creation_time_lt = -1
$creation_time_ge = -2
$wObject_options  = {
   
$_.creationtime -lt $Date.AddDays($creation_time_lt) -and
    $_.creationtime -ge $Date.AddDays($creation_time_ge)
}

Get-ChildItem "С:\test" -Recurse | Where-Object $wObject_options


epoddubniy 06-05-2022 10:34 2984543

Fors1k, подскажите пожалуйста, как описать такой порядок действий:

1) В папке "C:\test" находятся файлы, в имени которых в конце есть нижнее подчеркивание и потом дата (например C:\test\Архив_02.05.2022)
2) Хочу скопировать этот архив в "D:\test", но от имени файла отрезать вот этот фрагмент "_02.05.2022"

Поправьте пожалуйста, меня или подскажите пожалуйста с кодом, если я сильно ошибаюсь с написанием.
Код:

function copirovanie {Get-ChildItem "С:\test" -Recurse | where-object $object_options |  ForEach-Object -Process {
        Copy-Item -Path $_.FullName -Destination "D:\test\$($_.FullName).Split('"'_'"')[-1]"
    } }


Fors1k 07-05-2022 01:04 2984601

Код:

function copirovanie {
   
$Date = Get-Date
    $creation_time_lt = -1
    $creation_time_ge = -2
    $wObject_options  = {
       
$_.creationtime -lt $Date.AddDays($creation_time_lt) -and
        $_.creationtime -ge $Date.AddDays($creation_time_ge)
    }

   
Get-ChildItem "С:\test" -Recurse | Where-Object $wObject_options | ForEach-Object {
       
$name = $_.Name -replace "_[^_]+$", $_.Extension
       
Copy-Item -LiteralPath $_.FullName -Destination "D:\test\$name"
       
    }
}



Время: 23:49.

Время: 23:49.
© OSzone.net 2001-