小编use*_*402的帖子

使用PowerShell遍历目录中的文件

如何更改以下代码以查看目录中的所有.log文件而不仅仅是一个文件?

我需要遍历所有文件并删除所有不包含"step4"或"step9"的行.目前这将创建一个新文件,但我不知道如何在for each这里使用循环(新手).

实际文件的名称如下:2013 09 03 00_01_29.log.我希望输出文件覆盖它们,或者具有SAME名称,附加"out".

$In = "C:\Users\gerhardl\Documents\My Received Files\Test_In.log"
$Out = "C:\Users\gerhardl\Documents\My Received Files\Test_Out.log"
$Files = "C:\Users\gerhardl\Documents\My Received Files\"

Get-Content $In | Where-Object {$_ -match 'step4' -or $_ -match 'step9'} | `
Set-Content $Out
Run Code Online (Sandbox Code Playgroud)

powershell

218
推荐指数
3
解决办法
44万
查看次数

循环X次

我正在研究我的第一个PowerShell脚本,无法解决循环问题.

我有以下内容,它将重复$ ActiveCampaigns次数:

Write-Host "Creating $PQCampaign1 Pre-Qualified Report"
Invoke-Item "$PQCampaignPath1\PQ REPORT $PQCampaign1.qvw"
Write-Host "Waiting 1 minute for QlikView to update"
sleep -seconds 60 # Wait 1 minute for QlikView to Reload, create Report and Save.

DO{
    Write-Host "Daily Qlikview Reports"
    Write-Host "Wating for QlikView to create the $PQCampaign1 PQ Report"
    Get-Date
    Write-Host "Checking...."
    sleep -seconds 1
    Write-Host ""
    Write-Host "Not Done Yet"
    Write-Host "Will try again in 5 seconds."
    Write-Host ""
    sleep -seconds 5
}

Until (Test-Path "$PQCampaignPath1\$PQCampaign1 …
Run Code Online (Sandbox Code Playgroud)

powershell

30
推荐指数
3
解决办法
9万
查看次数

Powershell比较文本文件并显示差异

我需要进行文件比较,并希望使用Powershell.我需要一个列出所有差异的输出文件.下面是一个很好的开始,但我需要文件包含行号,并且生成的输入对象当前也会在89个字符后被切断 - 我需要显示完整行:

compare-object (get-content $File1) (get-content $File2) | Out-File $Location
Run Code Online (Sandbox Code Playgroud)

powershell

14
推荐指数
2
解决办法
4万
查看次数

将 Excel 数据导入 PowerShell 变量

我有一个 Excel 文件,其中包含未知数量的记录,以及以下 3 列:

Variable Name, Store Number, Email Address
Run Code Online (Sandbox Code Playgroud)

我在 QlikView 中使用它来导入某些商店的数据,然后为列表中的每个商店创建一个单独的报告。然后我需要将每个报告通过电子邮件发送到每个单独的商店(商店编号将在报告文件名中)。

所以在 PowerShell 中,我想读取 Excel 文件并为每个商店设置变量:

$Store1 = The Store Number in Row 2 of the Excel File  
$Store1Email = The Store Email in Row 2 of the Excel File  
$Store2 = The Store Number in Row 3 of the Excel File  
$Store2Email = The Store Email in Row 3 of the Excel File  
etc. for each Storein the file (can be any number of stores).  
Run Code Online (Sandbox Code Playgroud)

请注意必须忽略 …

powershell

3
推荐指数
1
解决办法
8万
查看次数

如果以行开头,则从文本文件中删除行

我有包含无效记录的大文本文件.

我想删除第一个字段为空的所有行.文件分隔符是波浪号,所以基本上我想删除第一个字符为〜的所有行

有人可以协助使用PowerShell代码 - 我似乎无法做到正确.

powershell

2
推荐指数
1
解决办法
2万
查看次数

忽略文件中的第一行和最后一行

我正在尝试使用 PowerShell 替换多个文本文件的某些列中的字符。我让它工作得很好,只是我需要忽略每个文件中的第一行和最后一行,我无法让它工作。

这是我到目前为止:

$Location = "C:\Users\gerhardl\Documents\Tenacity\TEMP\POWERSHELL TESTS"
$Data = "$Location\*.TXT"
$Output = "$Location\Fixed"

Get-Item $Data |
    ForEach-Object {
        $file = $_
        $_ | 
            Get-Content | 
            ForEach-Object {
                $Beginning = $_.Substring(0,105)
                $Account = $_.Substring(105,20) -replace "[ABCDEFGHIJKLMNOPQRSTUVWXYZ]", " "
                $End = $_.Substring(125)
                '{0}{1}{2}' -f $Beginning,$Account,$End
            } |
            Set-Content -Path (Join-Path $Output  $file.Name)

    }
Run Code Online (Sandbox Code Playgroud)

我知道有类似的线程,但似乎我的 For Each 循环不能很好地处理这些建议。

powershell

2
推荐指数
1
解决办法
5635
查看次数

Outlook VBA宏创建txt文件

我对VBA不是很了解,需要以下方面的帮助:

我想创建一个txt文件并将其保存在特定位置(用相同的名称覆盖现有文件).

文本文件必须计算电子邮件主题中的最后一个单词,该单词将是一个帐号.出于解释的目的,我将调用帐号Variable1.

如果电子邮件主题= 帐户侦察 - 10201314050019434586

然后Variable1 = 10201314050019434586

必须创建/替换的文本文件:C:\ Users\tenba1\Documents\QlikView\Account Recons\Recon_Acct.txt

文件中的文本必须是: SET vAcct ='Variable1';

因此,在此示例中,文件中的文本必须为: SET vAcct ='10201314050019434586';

宏必须查看主题中的最后一个单词(即最后一个空格后的所有内容) - 帐号不一定是20位数.

提前致谢

outlook-vba

0
推荐指数
1
解决办法
7879
查看次数

Python 正则表达式验证

我是 Python 的新手。

我试图确保用户名仅包含字母字符(仅 az)。我有以下代码。如果我只输入数字(例如 7777),它会正确地抛出错误。如果我输入数字和字母混合,但我以数字开头,它也会拒绝。但是,如果我以字母 (az) 开头,然后字符串中也包含数字,则它会接受它是正确的。为什么?

def register():
    uf = open("user.txt","r")
    un = re.compile(r'[a-z]')
    up = re.compile(r'[a-zA-Z0-9()$%_/.]*$')
    print("Register new user:\n")
    new_user = input("Please enter a username:\n-->")
    if len(new_user) > 10:
        print("That username is too long. Max 10 characters please.\n")
        register()
    #elif not un.match(new_user):
    elif not re.match('[a-z]',new_user):
        print("That username is invalid. Only letters allowed, no numbers or special characters.\n")
        register()
    else:
        print(f"Thanks {new_user}")
Run Code Online (Sandbox Code Playgroud)

样本

python

0
推荐指数
1
解决办法
49
查看次数

标签 统计

powershell ×6

outlook-vba ×1

python ×1