0

単純な問題があるはずですが、正しく理解できないようです。2 つのファイル拡張子を持つファイルがあります。ファイルを取得して復号化し、暗号化されたファイルを、ファイルが処理された日時を示す日付/時刻スタンプとともにバックアップ フォルダーに保存します。私がやりたいのは、日付/時刻スタンプを 2 つの拡張子の間ではなく前に置くことだけです。これには簡単な 1 行の答えが必要ですが、見つかりません。助言がありますか?

元のファイル名 - DAILY AP FILES.ZIP.pgp

現在の名前変更ファイル名 - DAILY_AP_FILES.ZIP-02182013-155123.pgp

希望の名前変更ファイル名 - DAILY_AP_FILES-02182013-155123.pgp

Get-ChildItem "$dlpath\*.pgp" | ForEach-Object {          
    Move-Item $_.FullName "$BackupFolder$($_.BaseName.Replace(" ", "_"))-$(Get-Date -Format "MMddyyyy-HHmmss").pgp"
}
4

3 に答える 3

4

これを試して:

Get-ChildItem "$dlpath\*.pgp" | ForEach-Object {          
    Move-Item $_.FullName "$BackupFolder$($_.BaseName -replace " ", "_" -replace '\.([^\.]+)$')-$(Get-Date -Format "MMddyyyy-HHmmss").pgp"
}
于 2013-02-18T21:14:30.303 に答える
0

これはうまくいきますか?

Get-ChildItem "$dlpath\*.pgp" | ForEach-Object {
$NewBaseName = ($_.BaseName.Replace(" ", "_")) -replace '^(.+\.).+','$1'           
Move-Item $_.FullName "$BackupFolder$NewBaseName-$(Get-Date -Format "MMddyyyy-HHmmss").pgp"
}
于 2013-02-18T21:21:56.693 に答える