我需要将文件从一个文件夹移动到另一个文件夹。我需要能够选择要移动的文件数量,然后它将循环播放直到源文件夹中没有更多文件为止。在循环之间,需要休息一下。我可能会离开。
到目前为止,我有一个像这样的脚本:
$FileCount = (ls $env:C:\users\jenstmar\desktop\*.*).count
Function Source {gci -path (Read-Host -Prompt 'Set Source') -exclude PowerFlyt |}
Function FileNumber {Get-Random -Count 4 (Read-Host -Prompt 'Set number of files to move a time') |}
Function Destination {mi -Destination (Read-Host -Prompt 'Set Destination') -exclude PowerFlyt.ps1 |}
do
{
Source |
FileNumber |
Destination |
sleep -sec 20; .\PowerFlyt.ps1
}
while($FileCount -gt 0)
提前致谢
最佳答案
首先,函数不像宏或代码中内联的东西。调用函数,它们将值返回给管道。
所以你的用法就像
Source |
FileNumber |
Destination |
并定义诸如
函数源{gci -path(读取主机-提示“设置源”)-排除PowerFlyt |}
不管用。更改不带尾部管道的函数(
|
)。要从读取主机传递变量,请将读取值保存在变量中:
Function Source {
$script:source = read-host "set source"
gci -path $source -exclude PowerFlyt
}
现在,您可以在脚本中的其他函数中访问
$script:source
。对其他变量执行相同的操作。
关于function - 如何使用变量或函数来记住Powershell提示中的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7835745/