1

宿題の問題があり、最後までやり遂げることができません:
Write a shell that has two folder names as parameters and moves the second folder as subfolder of the first one and adds '.unu' to all filenames in that second folder.

これは私が書いたものですが、うまくいきません:

gci D:\powershell\dir2 | foreach-object{ ren -new ($_.Name + ".unu")} 

Copy-Item -Recurse D:\powershell\dir2.unu D:\powershell\dir2

Remove-Item -Recurse D:\powershell\dir2.unu

また、私が作成した2 つのフォルダーが表示され、そこに移動しD:\powershellたいdir2dir1

4

1 に答える 1

0

ここでは実際にパイプラインを使用していません...:

Move-Item dir3 .\dir1\ -PassThru | Get-ChildItem | 
    where { ! $_.PsIsContainer } | 
    Rename-Item -NewName { $_.Name + ".unu" }

Move-item はフォルダの移動を処理します。PassThru を使用すると、次の場合に再生する新しいオブジェクトを取得できます... Get-ChildItem にパイプすると、その内容が返されます (そこに -recurse を追加することを検討してください...)。Where はディレクトリを除外し (ファイルのみの名前を変更するように求められました)、 Rename-Item はすべてのファイルをバインドし、要求に応じて名前を変更します。

そして、誰かがそのためのスクリプトを書きたがっていました..? :o

于 2012-05-31T07:40:19.043 に答える