2016-03-22 16 views

答えて

1

あなたは、このように部分文字列との組み合わせを使用することができます:あなたは常にあなたの例では、数字と非のような同じ規則を使用している場合

$a = "0001 filename.txt" 
Rename-Item -Path $a -NewName $("$($a.Substring(0,4)).txt") 
+0

この解決方法は私のニーズに合っています。ありがとうございました。 – Rayearth

0

あなたが使用することができ-Digits:

$Filename = Get-ChildItem 'C:\folder\0001 filename.txt' 
Rename-Item $Filename -NewName ($Filename.Name -replace "\W+\w+[^.txt]") 

を慣習が異なる場合は、別の正規表現を作成する必要が

0

私はここにも私のものを投げます。 .Split()メソッドを使用して、スペース(かっこ内の任意の文字)の文字列を分割できます。分割して、必要な値にインデックスを付けます。

$a = "0001 filename.txt" 
$a.Split()[1] 
>filename.txt 

ファイルの名前を変更する場合は、次のようになります。

Rename-Item $Filename -NewName $a.Split()[1] 
0

"E:\ 0000 File1.txt"をファイルのパスに置き換えます。私はあなたがここにいくつかのファイルの形式ですので、たくさんのファイルがあると仮定します。

$File = "E:\File1.txt","E:\File2.txt","E:\File3.txt" 

これは完全なコードです。ディレクトリにはファイルをいっぱい与えることもできますが、そのディレクトリにサブフォルダがある場合は、これで名前を変更することができます。最初の2行を好きなように変更すればよい。

$File = "E:\0000 File1.txt","E:\0000 File2.txt" 
$CharsToKeep = 7 

Get-ChildItem $File | 
ForEach-Object{ 
    $Orig = $_.fullname 
    $NewName = ($_.BaseName).Substring(0,$CharsToKeep) + $_.Extension 
    Rename-Item -path $Orig -NewName $NewName 
} # end Foreach. Also end Get-ChildItem 
関連する問題