ข้อผิดพลาดพา ธ ในสคริปต์


0

ฉันเป็น Googling เพื่อค้นหาสคริปต์ PS เพื่อนับประเภทไฟล์และไฟล์ในหลายไดเรกทอรีในเครือข่าย

ฉันมีไดเรกทอรีหลายรายการในไดเรกทอรี "ห้องสมุด" ของฉันบนพีซีที่ทำงาน

ฉันแค่พยายามทดสอบสคริปต์ PS เพื่อให้มันทำงานเพื่อนับจำนวนไฟล์และแสดงประเภทไฟล์ในโฟลเดอร์ "Libraries \ Documents \ Tidbits" ของฉัน:

Get-ChildItem \\hilltop3\users$\LongRandy\My Documents\TIDBITS

แต่ฉันได้รับข้อผิดพลาดนี้:

Get-ChildItem : Cannot find path '\\hilltop3\users$\LongRandy\My' because it does not exist.
At line:1 char:14
+ Get-ChildItem <<<< \\hilltop3\users$\LongRandy\My Documents\TIDBITS
+ CategoryInfo : ObjectNotFound: (\\hilltop3\users$\LongRandy\My:String) [Get-ChildItem], ItemNotFoundExc
eption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand"

ขอบคุณอีกครั้ง

คำตอบ:


0

ลองสิ่งนี้:

$files = Get-ChildItem "\\hilltop3\users$\LongRandy\My Documents\TIDBITS" -recurse | where{$_.mode -notlike "d*"}
$files | group-object -Property extension | sort count -Descending

มันทำงานได้ขอบคุณมาก แต่ทำไมคุณถึงมี "$ files =" ที่จุดเริ่มต้นของบรรทัด?
DATAfiend

ที่เก็บผลลัพธ์ของ Get-Childitem ในตัวแปร ตัวแปรทั้งหมดใน Powershell เริ่มต้นด้วย $ sign การจัดเก็บผลลัพธ์ของแบบสอบถามแบบยาวในตัวแปรช่วยให้คุณสามารถกรองจัดกลุ่มและอื่น ๆ ได้โดยไม่ต้องรอให้ Get-Childitem ส่งคืนไฟล์ทั้งหมด
megamorf

2

เนื่องจากพา ธ ไฟล์ของคุณมีช่องว่างอยู่คุณจำเป็นต้องล้อมด้วยเครื่องหมายคำพูดเพื่อให้ PowerShell รู้ว่าเป็นสตริง / อาร์กิวเมนต์เดี่ยว

แจ้งให้ทราบล่วงหน้าในข้อผิดพลาด:

ไม่พบเส้นทาง '\ hilltop3 \ users $ \ LongRandy \ My' เนื่องจากไม่มีอยู่

มันหยุดที่อวกาศหลังจากนั้น My เนื่องจากช่องว่างถูกใช้เพื่อแยกความแตกต่างระหว่างแต่ละอาร์กิวเมนต์ในคำสั่ง

ลองสิ่งที่ชอบ:

Get-ChildItem "\\hilltop3\users$\LongRandy\My Documents\TIDBITS"


0

คุณสามารถลองสิ่งนี้:

รับ Childitem X: \ -Recurse | โดยที่ {-not $ _. PSIsContainer} | ส่วนขยายของกลุ่ม -NoElement | เรียงลำดับการนับ -desc

ที่ไหน

X: \ = "\ hilltop3 \ users $ \ LongRandy \ My Documents \ TIDBITS"

ดังนั้น:

Get-Childitem "\ hilltop3 \ users $ \ LongRandy \ My Documents \ TIDBITS" - ชำระเงิน | โดยที่ {-not $ _. PSIsContainer} | ส่วนขยายของกลุ่ม -NoElement | เรียงลำดับการนับ -desc

ควรทำงาน.


0

คุณได้รับเส้นทางนั้นได้อย่างไร คุณแน่ใจหรือว่ามันเป็นจริง \\hilltop3\users$\LongRandy\My Documents\TIDBITS? ดูเหมือนไดเรกทอรีที่อาจมีการตั้งค่าโดยการเปลี่ยนเส้นทางโฟลเดอร์ ซึ่งหมายความว่ามันอาจมีที่ซ่อนอยู่ desktop.ini ไฟล์ที่ทำให้ชื่อโฟลเดอร์แตกต่างกันใน Windows GUI จากสิ่งที่คุณจะใช้ที่บรรทัดคำสั่ง เส้นทางการเปลี่ยนเส้นทางโฟลเดอร์เอกสารเริ่มต้นมีชื่อว่า 'Documents' ไม่ใช่ 'My Documents'

ตัวอย่างเช่นในเครือข่ายของฉันผู้ใช้ส่วนใหญ่มีเส้นทางที่อาจดูเหมือน \\example.org\dfs\do\username\My Documentsแต่เส้นทางที่แท้จริงคือ \\example.org\dfs\do\username\Documents. Windows เพิ่ม desktop.ini ไฟล์ในโฟลเดอร์ที่มีลักษณะเช่นนี้

[ExtShellFolderViews]
...
Owner=username
Personalized=5
PersonalizedName=My Documents
...

ที่ผ่านมาดังที่คนอื่น ๆ พูดถึงคุณอาจต้องอ้างเส้นทางของคุณ


zoredache ดูเหมือนว่าสคริปต์ของ megamorf จะทำงาน ฉันยังสงสัยเกี่ยวกับชื่อเริ่มต้นสำหรับ "เอกสารของฉัน" นี่เป็นเรื่องปกติที่จะเปลี่ยนเอกสารของฉันเป็นเอกสารหรือในทางกลับกัน?
DATAfiend
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.