2015-03-31 66 views
0

该脚本是一个简单的,重命名和移动/复制脚本,使用$Id = [GUID]::NewGuid()重命名为guid并更改名称。当我将它指向一个特定的文件时,但是当我将它指向Powershell不处理通配符

$source = "C:\Users\username\Pictures\*.jpg" 

* .jpg不想读取并给出以下错误;

Rename-Item : Cannot rename because item at 'C:\Users\username\Pictures\*.jpg' does not exist. 

任何帮助将不胜感激。 我的脚本如下:

$Id = [GUID]::NewGuid() 
$source = "C:\Users\username\Pictures\*.jpg" 
$newfilename = "C:\Users\username\Pictures\$Id.jpg" 
Rename-Item $source -NewName $newfilename 
sleep -seconds (5) 
copy-Item "C:\Users\username\Pictures\$Id.jpg" "\\Server\folder\subfolder\$Id.jpg " 

回答

1

你就要成功了 - 你真正需要得到满足*.jpg第一,然后在它们之间迭代,该文件的列表。

下面应该怎么做你后:

$sourceFiles = Get-ChildItem "C:\Users\username\Pictures\*.jpg" 

foreach ($file in $sourceFiles) { 
    $Id = [GUID]::NewGuid() 
    $newfilename = "C:\Users\username\Pictures\$Id.jpg" 
    Rename-Item $file.fullName -NewName $newfilename 
    sleep -seconds 5 
    copy-Item "$newfilename" "\\Server\folder\subfolder\$Id.jpg" 
} 
+0

味甘,为帮助的感谢! – user177073 2015-03-31 16:49:29