gpt4 book ai didi

powershell - 在 Powershell 中使用 if 语句移动文件

转载 作者:行者123 更新时间:2023-12-02 23:59:34 25 4
gpt4 key购买 nike

我正在尝试执行以下操作(我已经写了我已经能够解决的问题(第 3 行和第 4 行),然后在大写字母中描述了我想在其他行上做的事情,并在标签)
今天第一次使用Powershell,请见谅!
我猜 IF 部分需要全部放在一条线上?
每条线独立运行......对吗?或者如果它全部在一个脚本中?

CHECK FOR .TXT FILES IN DIRECTORY IF MULTIPLE, OPEN EXPLORER WINDOW TO FOLDER (If count of *.txt in folder is > 1, open directory...?)
IF ONLY ONE .TXT EXISTS (If count of *.txt in folder is = 1)
Move-Item <dir1*.txt> <dir2> #Move item from directory to new directory
<dir> #Execute program, does this need 'execute' or some parameter?
ELSE END #don't attempt to run the program if nothing has been moved

最佳答案

第一天学习一门语言既非常困惑,也非常非常困惑。

我在这里向你扔骨头。 :D

第 1 步:您需要弄清楚如何找到文件夹中的所有文本文件。您可能知道如何在 CMD 中执行此操作,对吧?命令“dir”将列出您目录中的所有垃圾,对吗?你猜怎么了?大多数命令行 cmdlet 也可以在 PowerShell 中运行。它们被称为别名。

获取目录内容的 native 命令是 Get-ChildItem但它有一些别名,其中之一是 dir .如果您键入 Get-ChildItemdir你会得到相同的结果。

因此,假设您只想获取“MyDirectory”中的所有文本文件。使用通配符“*”后跟“.txt”,如下所示:

Get-ChildItem "MyDirectory\*.txt"

这将为您提供该目录中所有 .txt 文件的列表。但是您也有一个要使用的 if 语句,对吗?它基于该目录中 .txt 文件的数量?让我们认识变量。

$ 声明一个变量和姓名 =然后是您希望该变量定义的内容。由于您想对文本的数量进行计数,并且上述命令提取了该信息,因此我们可以在变量中使用该信息来计数。
$Stuff = Get-ChildItem "C:\MyDirectory\*.txt"

现在我们只需要它来计算变量的结果。为此,我们调用变量并告诉它计算结果,如下所示:
$Stuff.count

繁荣!有你的号码。我认为您了解 IF 语句,所以我们只说如果该数字大于 1,则您要打开目录。否则,您要移动项目并启动程序。
If($Stuff.count -gt "1"){
Invoke-Item "C:\MyDirectory"
}
Else{
Move-Item "C:\MyDirectory\*.txt" "C:\MyOtherDirectory\" -Force
Invoke-Item "C:\ProgramDirectory\program.exe"
}
If语句后跟括号中的条件 () ,然后是大括号中的操作 {} .标志(或运算符) -gt意思是“大于”。 Invoke-Item很明显:如果您尝试通过鼠标/键盘调用它来打开该项目,它会使用您的计算机将执行的任何操作来调用它后面的任何项目。我想你可以弄清楚 -Force 是什么标志可以。

现在大家在一起,这是你的脚本。改变它你认为合适的方式。
$Stuff = Get-ChildItem "C:\MyDirectory\*.txt"

If($Stuff.count -gt "1"){
Invoke-Item "C:\MyDirectory"
}
Else{
Move-Item "C:\MyDirectory\*.txt" "C:\MyOtherDirectory\" -Force
Invoke-Item "C:\ProgramDirectory\program.exe"
}

欢迎使用 PowerShell!这是你的免费赠品。请学习!看看“嘿!脚本专家!”博客并使用 TechNet 中的 CRAP 寻求帮助!

享受!

关于powershell - 在 Powershell 中使用 if 语句移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com