Проблема с прогрессом журнала - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь скопировать журналы в числовом порядке, и я хочу, чтобы мой output.txt регистрировал последний скопированный файл, однако я столкнулся с проблемой, когда мой скрипт переходит из log_9.txt в Log_10.txt полученное значениеположить в мой текстовый файл остается на log_9.txt, хотя он копирует все файлы

dir c:\PS1 *.bat | ForEach {
    $variable = "$($_.Name) 'n$(Get-content $_.FullName)"
    Set-Content -Value $variable -Path c:\PS1\Output.txt
    $pull = Get-Content C:\PS1\Output.txt
    copy-item $source\$pull -Destination $dest -Verbose

        }
      } 

1 Ответ

1 голос
/ 21 октября 2019

Следующая команда показывает, как вы сортируете базовое имя (имя файла без расширения) ваших входных файлов: сначала лексически , по тексту перед _, а затем численно , по номеру, следующему за _:

# The input simulates dir (Get-ChildItem) output.
@{ BaseName = 'log_10' }, @{ BaseName ='log_9' }, @{ BaseName = 'log_2' } | 
  Sort-Object { ($_.BaseName -split '_')[0] }, { [int] ($_.BaseName -split '_')[-1] }

Выше приведено следующее - обратите внимание на правильную числовую сортировку:

Name                           Value
----                           -----
BaseName                       log_2
BaseName                       log_9
BaseName                       log_10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...