none
Powershell время в имя файла RRS feed

  • Вопрос

  • Коллеги привет.

    есть мини скрипт, он копирует файл с изменение имени, как в имя фала вставить дату ?

    переменная в имя не работает

    Copy-Item -Path "\\MSK\Vmware_Auto_Info\test.xlsx"  -Destination "\\MSK\Vmware_Auto_Info\inventory_%CURDATE:~8,2%%CURDATE:~3,2%%CURDATE:~0,2%.xlsx"

    или 

    $date = Get-Date -UFormat %Y%m%d-%T

    Copy-Item -Path "OUTPUT_SL.xlsx"  -Destination "\\MSK\Vmware_Auto_Info\inventory_$date.xlsx

    Heeeeeeeeeelpppppppppp

Ответы

  • Коллеги привет.

    есть мини скрипт, он копирует файл с изменение имени, как в имя фала вставить дату ?

    переменная в имя не работает

    Copy-Item -Path "\\MSK\Vmware_Auto_Info\test.xlsx"  -Destination "\\MSK\Vmware_Auto_Info\inventory_%CURDATE:~8,2%%CURDATE:~3,2%%CURDATE:~0,2%.xlsx"

    или 

    $date = Get-Date -UFormat %Y%m%d-%T

    Copy-Item -Path "OUTPUT_SL.xlsx"  -Destination "\\MSK\Vmware_Auto_Info\inventory_$date.xlsx

    Heeeeeeeeeelpppppppppp

    Проблема в формате даты у вас.

    Делайте вот так:

    PS D:\temp\1> $Date = Get-Date -Format yyyy-mm-dd
    PS D:\temp\1> echo 1 > d:\temp\1\inventory_$date.xlsx
    PS D:\temp\1> dir


        Каталог: D:\temp\1


    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    -a----       23.05.2019     12:26              8 inventory_2019-26-23.xlsx

    В вашем же случае, ошибка, out-file не может таким существовать:

    PS D:\temp\1> $date = Get-Date -UFormat %Y%m%d-%T
    PS D:\temp\1> echo 1 > d:\temp\1\inventory_$date.xlsx
    out-file : Данный формат пути не поддерживается.
    строка:1 знак:1
    + echo 1 > d:\temp\1\inventory_$date.xlsx
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OpenError: (:) [Out-File], NotSupportedException
        + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

    p.s. если нужны минуты и часы, используйте так:

    Get-Date -Format yyyy-mm-dd-hh:mm

  • gi .\HelloWorld.txt|cp -des "qwe$($((get-date).ToString("yyyyMMddHHmmss"))).txt"

    upd

    gi .\HelloWorld.txt|cp -des "qwe$($((get-date).ToString("yyyyMMdd-HHmmss"))).txt"

Все ответы

  • Коллеги привет.

    есть мини скрипт, он копирует файл с изменение имени, как в имя фала вставить дату ?

    переменная в имя не работает

    Copy-Item -Path "\\MSK\Vmware_Auto_Info\test.xlsx"  -Destination "\\MSK\Vmware_Auto_Info\inventory_%CURDATE:~8,2%%CURDATE:~3,2%%CURDATE:~0,2%.xlsx"

    или 

    $date = Get-Date -UFormat %Y%m%d-%T

    Copy-Item -Path "OUTPUT_SL.xlsx"  -Destination "\\MSK\Vmware_Auto_Info\inventory_$date.xlsx

    Heeeeeeeeeelpppppppppp

    Проблема в формате даты у вас.

    Делайте вот так:

    PS D:\temp\1> $Date = Get-Date -Format yyyy-mm-dd
    PS D:\temp\1> echo 1 > d:\temp\1\inventory_$date.xlsx
    PS D:\temp\1> dir


        Каталог: D:\temp\1


    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    -a----       23.05.2019     12:26              8 inventory_2019-26-23.xlsx

    В вашем же случае, ошибка, out-file не может таким существовать:

    PS D:\temp\1> $date = Get-Date -UFormat %Y%m%d-%T
    PS D:\temp\1> echo 1 > d:\temp\1\inventory_$date.xlsx
    out-file : Данный формат пути не поддерживается.
    строка:1 знак:1
    + echo 1 > d:\temp\1\inventory_$date.xlsx
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OpenError: (:) [Out-File], NotSupportedException
        + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

    p.s. если нужны минуты и часы, используйте так:

    Get-Date -Format yyyy-mm-dd-hh:mm

  • gi .\HelloWorld.txt|cp -des "qwe$($((get-date).ToString("yyyyMMddHHmmss"))).txt"

    upd

    gi .\HelloWorld.txt|cp -des "qwe$($((get-date).ToString("yyyyMMdd-HHmmss"))).txt"