如何使用Powershell脚本删除小于x kb的文件

时间:2019-06-10 14:08:24

标签: powershell

大家好,我有1个文件夹,其中包括许多子文件夹和许多.txt文件。我想删除.txt文件,尤其是小于10 kb的文件。

我尝试过这个,但是每次都会出错。

$Dir  = "C:\Users\*************\Desktop\test"
'$SizeMin' = 10 #KB

Get-ChildItem -Path $Dir -Recurse | 
    Where {$_.Length / 10KB -lt $SizeMin} | 
        Remove-Item -Force
  

“表达式或语句中的意外标记'$ SizeMin'。           + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException           + FullyQualifiedErrorId:UnexpectedToken“

2 个答案:

答案 0 :(得分:1)

此代码可以为您提供帮助,它可以删除给定目录中小于10kb(10000字节)的文件:

package nacharymntests

import io.micronaut.http.annotation.Get
import io.micronaut.http.client.annotation.Client
import io.micronaut.test.annotation.MicronautTest
import spock.lang.Shared
import spock.lang.Specification

import javax.inject.Inject

@MicronautTest
class DeclarativeClientWithTestFrameworkSpec extends Specification {

    @Shared
    @Inject
    EmployeeClient client

    void "test hello"() {
        expect:
        client.hello('Jeff') == 'Hello Jeff'
    }

    void "test goodbye"() {
        expect:
        client.goodbye('Jeff') == 'Goodbye Jeff'
    }
}

@Client(value = '/', path = '/employee')
interface EmployeeClient {

    @Get('/hello/{name}')
    String hello(String name)

    @Get('/goodbye/{name}')
    String goodbye(String name)
}

答案 1 :(得分:0)

每当学习新东西,特别是编码时,我发现最好分解所有内容,并花时间先编写抽出的代码,然后再压缩它。您可以使用和编辑以下绘制的代码,以更好地了解正在发生的事情:

#Root directory
$dir = "C:\Users\*************\Desktop\test"

#Minimum size for file
$minSize = 10

#Throwing through every item in root directory
Get-ChildItem -Path $dir -Recurse | ForEach-Object{

    #Check if file length if less than 10
    if ($_.Length / 10KB -lt $minSize){
        Remove-Item $_ -Force
    }else{
        #File is too big to remove
    }
}