Score:0

ต้องการความช่วยเหลือในการย้ายไฟล์ไปยังไดเร็กทอรีสำรอง ยกเว้น 10 ไฟล์ล่าสุดตามไฟล์ NAME ไม่ใช่วันที่แก้ไข

ธง gb


ฉันมีสถานการณ์ที่เซิร์ฟเวอร์กำลังสร้างไฟล์เจอร์นัล (MJ00001-MJ000x) และฉันต้องการย้ายไฟล์ทั้งหมดไปยังไดเร็กทอรีสำรอง แต่ต้องเก็บ 10 ไฟล์สุดท้ายไว้ในนั้นเพื่อรับไฟล์เก็บถาวร ฉันดูที่ robocopy และ Powershell Move-Item แต่ปัญหาคือวันที่แก้ไขจะเป็นวันปัจจุบันเสมอ เนื่องจากเซิร์ฟเวอร์จะมองหาพวกเขาหากพวกเขาอยู่ในไดเร็กทอรี ฉันต้องการวิธี PowerShell ที่สามารถดูชื่อไฟล์และย้ายทั้งหมดยกเว้นไฟล์ที่มีหมายเลขสูงสุด 10 ไฟล์ เนื่องจากฉันสามารถใส่ลงในสคริปต์เพื่อหยุดบริการเซิร์ฟเวอร์แล้วรีสตาร์ทหลังจากย้าย

ตัวอย่างโครงสร้างไฟล์ด้านล่าง:
อยู่ใน C:\Folder
mainfile.ext
MJ00001.ต่อ
MJ00002.ต่อ
MJ00003.ต่อ
ไปจนถึง MJ00257.ext

ในตัวอย่างนี้ ฉันต้องการย้าย MJ0001.ext - MJ00247.ext ไปยัง D:\Other_Folder\

โปรดทราบว่าฉันต้องการเก็บ mainfile.ext ไว้ในไดเร็กทอรีและเฉพาะไฟล์ MJ ที่มีชื่อสูงสุด

ใครสามารถช่วยได้บ้าง?

Score:0
ธง in

มันค่อนข้างง่ายจริงๆ โดยใช้ -ข้ามครั้งสุดท้าย อาร์กิวเมนต์ของ เลือกวัตถุ:

Get-ChildItem -Path "C:\Folder" -ไม่รวม "mainfile.ext" | จัดเรียงวัตถุ |
    Select-Object -SkipLast 10 |Move-Item -Destination "D:\Other_Folder\"
gb flag
ฉันจะทำทันทีและโหวตถ้าทุกอย่างได้ผล ขอบคุณ.
gb flag
ดูเหมือนจะไม่แยกไฟล์ mainfile.ext และย้ายไปยังไดเร็กทอรีปลายทางด้วย
in flag
ถ้าอย่างนั้นคุณพิมพ์ผิดที่ไหนสักแห่ง ฉันทดสอบสิ่งนี้ก่อนที่จะโพสต์
gb flag
นี่คือสิ่งที่ฉันได้ลอง `รับรายการ "C:\temp\Source" | Get-ChildItem - ยกเว้น "mainfile.txt" | จัดเรียงวัตถุ | Select-Object -SkipLast 10 |Move-Item -Destination "C:\temp\Destination\" ` เมื่อฉันทำคำสั่ง c:\temp\source ฉันมี MJ000012.txt-MJ00021 (10 ไฟล์ล่าสุด) แต่ mainfile.txt ดั้งเดิมก็ถูกย้ายออกไปเช่นกัน
gb flag
มันเหมือนกับการยกเว้นไม่ทำงาน เมื่อฉันพิมพ์คำสั่งทีละส่วนและบอกให้ `รับรายการ "C:\temp\Source" | Get-ChildItem` ฉันได้รับไฟล์ทั้งหมดในโฟลเดอร์ปรากฏขึ้น จากนั้นเมื่อฉันเพิ่ม -Exclude "mainfile.txt" มันยังคงแสดงผลลัพธ์เดียวกัน (ฉันคาดว่า mainfile.txt จะไม่แสดงในเอาต์พุต)
in flag
ตลกดี ตอนนี้ฉันได้ผลลัพธ์เดียวกับคุณแล้ว ฉันสามารถสาบานได้ว่าจะไม่เกิดขึ้นเมื่อวานนี้ อย่างไรก็ตาม โปรดลองแก้ไขของฉัน สิ่งนี้ใช้ได้กับฉันอย่างแน่นอน
gb flag
เรามาสรุปไปพร้อมๆ กัน .. Get-Childitem -Path แก้ให้ครับ ... `Get-ChildItem -Path C:\temp\source -ไม่รวม "mainfile.txt" | จัดเรียงวัตถุ | Select-Object -SkipLast 10 |Move-Item -Destination C:\temp\Destination`

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา