2016-05-23 1 views
0

У меня есть интересная проблема с PowerShell, я не могу думать о том, как решить эту проблему до сих пор ..Powershell добавить порядковый номер от 01 до 15 на один файл и помните, последний номер, добавляемый

Нам нужно добавить порядковый номер в файл, и он должен быть между 01 и 15 и должен увеличиваться.

Дополнительно к этому необходимо помнить номер. Так, например, мы получаем файл в течение дня, запускаем скрипт, добавляем последовательность и останавливаем. Сначала один будет

foo_01_bar.txt

Второй один, который может прибыть бы вызвать сценарий снова и на этот раз будет назван ..

foo_02_bar.txt

Все пути пока мы не получим до

foo_15_bar.txt

, а затем номер сбрасывается.

Я попытался создать текстовый файл, чтобы сохранить это значение, чтобы при остановке скрипта и повторении он запомнит его. Но я просто не могу видеть, как получить, что сохраненное значение, чтобы соответствовать значение, которое будет увеличиваться затем добавляется к имени файла ..

ответ

0

Если я вас правильно понял, что должно быть то, что вы хотите:

#Generate sequence with leading zero for numbers < 10 
$sequence = 01..15 | % { if($_ -lt 10){ "0$_" } else { "$_" } } 
$sequencePointerFile = "sequence_pointer.txt" 
$sequencePointer = -1; 

# Read pointer from file 
if(Test-Path $sequencePointerFile) { 
    $sequencePointer = [int] (gc $sequencePointerFile) 
    if($sequencePointer -eq ($sequence.Count -1)) { 
     #Reset 
     $sequencePointer = -1 
    } 
} 

$sequencePointer++ 

# create file with specific number - Use force to overwrite files if 
# sequence starts again from 01.. 
new-item "foo_$($sequence[$sequencePointer])_bar.txt" -Force 

# save pointer 
$sequencePointer | Out-File $sequencePointerFile 
+0

Спасибо вам это то, что мне нужно. Я лучше повесил шляпу с PowerShell сейчас :) – RYU1

 Смежные вопросы

  • Нет связанных вопросов^_^