簡體   English   中英

運行import-csv powershell腳本時CSV上的字符限制

[英]Character Limit on CSV when running import-csv powershell script

我在Powershell中運行此命令行,並且保存輸出的方式有所不同。

Import-csv $path\From.csv | Sort-Object -Property Dirpath | group-object -Property DirPath | Where {$_.Count -eq 1} | select-object @{Name='File'; Expression={$_.Group[0].File}}, Name | Export-Csv -Path $path\Output.csv -NoTypeInformation

From.csv包含大約100k或更多行。 示例如下:

“文件”,“ DirPath”
“ FS”,“ \\ AR01”
“ FS”,“ \\ AR01 \\ BLEND”
“ FS”,“ \\ AR01 \\ BLEND \\ ELECTRICAL”
“ FS”,“ \\ AR01 \\ BLEND \\ ELECTRICAL \\ MOTORS”
“ FS”,“ \\ AR01 \\ BLEND \\ ELECTRICAL \\ MOTORS \\ PM-60100”
“ FS”,“ \\ AR01 \\ BLEND \\ ELECTRICAL \\ MOTORS \\ PM-60100 \\ Datasheets”
“ FD”,“ \\ AR01 \\ BLEND \\ ELECTRICAL \\ MOTORS \\ PM-60100 \\ Datasheets”
“ FR”,“ \\ AR01 \\ BLEND \\ ELECTRICAL \\ MOTORS”

它應該過濾掉所有類似的Dirpath,並留下沒有重復的Dirpath。 所以Output.csv應該看起來像這樣。

“文件”,“ DirPath”
“ FS”,“ \\ AR01”
“ FS”,“ \\ AR01 \\ BLEND”
“ FS”,“ \\ AR01 \\ BLEND \\ ELECTRICAL”
“ FS”,“ \\ AR01 \\ BLEND \\ ELECTRICAL \\ MOTORS \\ PM-60100”

該代碼運行正常,除了一件事。 在Powershell版本5中。當一行達到180個字符時,下一個字符將被切成下一行。 在較低的版本(Powershell版本3)上運行相同的代碼時,限制較低。 該行將在第80個字符后被切掉,並顯示到下一行。

無論如何,我可以刪除每行的字符限制嗎?

對不起,新手問題。 版本問題只是我的預感。

您可以通過修改控制台的緩沖區大小來更改此行為:

$pshost = get-host

$pswindow = $pshost.ui.rawui

$newsize = $pswindow.buffersize

$newsize.height = 3000
#the below value determines the character limit for one line

$newsize.width = 300

$pswindow.buffersize = $newsize

您可以從以下參考鏈接中獲取有關此信息的更多詳細信息: https : //blogs.technet.microsoft.com/heyscriptingguy/2006/12/04/how-can-i-expand-the-width-of-the-windows- Powershell控制台/

以及Abhijith pk的編程解決方案,您都可以通過右鍵單擊PowerShell圖標並轉到屬性來實現。 每當您使用此快捷方式啟動PowerShell控制台時,此方法都將適用。

右鍵單擊>屬性

當您描述的是“寬度”屏幕緩沖區大小限制時,在“布局”選項卡下。 如果您不希望水平滾動條,請調整窗口大小,使其更大或更大。

轉到布局選項卡

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM