Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

แก้ไข: Cannot Create a File When That File Already Exists

ผู้ใช้หลายคนรายงานได้ข้อผิดพลาด "Cannot create a file when that file already exists" เมื่อพยายามเปลี่ยนสถานะของบริการ Smart Card (SCardSVR) จาก Disabled เป็นสถานะอื่น ปัญหาประกาศว่าพบในหลาย Windows versions รวมถึง Windows 7, Windows 8.1 และ Windows 10

แก้ไข: Cannot Create a File When That File Already Exists

สาเหตุของข้อผิดพลาด "Cannot create a file when that file already exists"

เราสืบสวนปัญหานี้จากรายงานผู้ใช้และกลยุทธ์ซ่อมแซมยอดนิยมที่ใช้แก้ปัญหานี้

พบว่าปัญหานี้เกิดจาก common Windows glitch ที่ยืนยันแล้วว่าเกิดบน Windows 8.1 และ Windows 10 Microsoft ได้ปล่อย hotfix สำหรับ glitch นี้แล้ว แต่บางผู้ใช้อ้างว่าข้อผิดพลาดยังคงอยู่แม้ติดตั้ง hotfix จาก Microsoft แล้ว

หากคุณกำลัง掙扎กับปัญหานี้ บทความนี้ให้คู่มือ troubleshooting หลายอย่าง ด้านล่างมี 3 วิธีที่ผู้ใช้ในสถานการณ์คล้ายกันใช้แก้ไขได้สำเร็จ

หากต้องการประสิทธิภาพสูงสุด ทำตามวิธีด้านล่างตามลำดับ หนึ่งในนั้นจะช่วยแก้หรือหลีกเลี่ยงข้อผิดพลาด "Cannot create a file when that file already exists"

วิธีที่ 1: ติดตั้งอัปเดต KB4057144 (Windows 10 เท่านั้น)

หากเจอปัญหาบน Windows 10 มีวิธีแก้ง่ายหนึ่งวิธี Microsoft แก้ไขปัญหานี้ด้วย hotfix update ที่ปล่อยเมื่อ มกราคม 2018

อัปเดต KB4057144 แก้ไขปัญหาที่การพยายามเปลี่ยนสถานะ Smart Card Windows service ทริกเกอร์ข้อผิดพลาด "Cannot create a file when that file already exists"

หากคุณเคยอัปเดตระบบสม่ำเสมอ น่าจะติดตั้งแล้ว แต่หากยัง ไปที่นี่เพื่อให้แน่ใจว่า KB4057144 ติดตั้งอยู่:

  1. กด Windows key + R เปิด Run dialog พิมพ์ ms-settings:windowsupdate Enter เปิดแท็บ Windows Update ใน Settings appแก้ไข: Cannot Create a File When That File Already Exists
  2. ในหน้าจอ Windows Update คลิก Check for updates ติดตั้งทุก pending updateแก้ไข: Cannot Create a File When That File Already Exists
  3. เมื่อถาม restart คลิก Restart now ให้ OS ติดตั้งอัปเดต บูตเสร็จ กลับหน้าจอเดิม ติดตั้ง pending updates จนไม่เหลือแก้ไข: Cannot Create a File When That File Already Exists
  4. ติดตั้ง pending updates ครบแล้ว เข้า Services screen อีกครั้ง ดูว่าสามารถเปลี่ยนสถานะ Smart Card (SCardSVR) service ได้หรือไม่

หากยังมีปัญหาเดิม หรือเจอปัญหากับ OS อื่น ไปวิธีถัดไป

วิธีที่ 2: เปลี่ยนสถานะ Smart Card (SCardSvr) ผ่าน Regedit

หากวิธีแรกไม่ใช้ได้ อาจหลีกเลี่ยงปัญหาได้โดยใช้ Registry Editor แก้ไขสถานะของ Smart Card (SCardSvR) ผู้ใช้หลายคนรายงานว่าขั้นตอนด้านล่างช่วยให้เปลี่ยนสถานะ SCardSvR service ได้โดยไม่เจอข้อผิดพลาด

ขั้นตอน:

  1. กด Windows key +R เปิด Run dialog พิมพ์ "regedit" Enter เปิด Registry Editor UAC ถาม คลิก Yes ให้สิทธิ์ adminแก้ไข: Cannot Create a File When That File Already Exists
  2. ใน Registry Editor ไปที่ registry key นี้:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SCardSvr
    แก้ไข: Cannot Create a File When That File Already Exists

    หมายเหตุ: นำทางด้วยมือ หรือวางที่อยู่ในแถบนำทางก็ได้

  3. ถึงที่แล้ว ดับเบิลคลิกค่า Start ด้านขวา เปลี่ยน Value data ตามสถานะที่ต้องการสำหรับ Startup type ของ SCardSVR:
    Automatic = 2
    Manual = 3
    Disabled = 4

    แก้ไข: Cannot Create a File When That File Already Exists
  4. คลิก OK บันทึก ปิด Registry Editor รีสตาร์ทคอมพิวเตอร์ บูตเสร็จ Startup Type ของ Smart Card (SCardSVR) service ควรเปลี่ยนแล้ว

หากยังมีปัญหาเดิม หรือหาวิธีอื่น ไปวิธีถัดไป

วิธีที่ 3: เปลี่ยนสถานะ Smart Card (SCardSvr) ผ่าน Command Prompt

หาก 2 วิธีข้างต้นไม่ได้ผล ลองดูว่าชุดคำสั่ง CMD จะช่วยได้ไหม บางกรณี ยืนยันแล้วว่าแก้ไขได้โดยเปลี่ยน Startup type ของ Smart Card (SCardSVR) service โดยตรงจาก elevated Command Prompt

ขั้นตอน:

  1. กด Windows key + R เปิด Run dialog พิมพ์ "cmd" กด Ctrl + Shift + Enter เปิด elevated Command Prompt UAC ถาม คลิก Yes ให้สิทธิ์ adminแก้ไข: Cannot Create a File When That File Already Exists
  2. ใน elevated Command Prompt พิมพ์คำสั่งหยุด Smart Card service:
    net stop SCardSvr
  3. หยุด service แล้ว ใช้คำสั่งใดคำสั่งหนึ่งเพื่อเปลี่ยน Startup type ของ service เป็นสถานะที่ต้องการ:
    Automatic: REG add "HKLM\SYSTEM\CurrentControlSet\services\SCardSvr" /v Start /t REG_DWORD /d 2 /f Manual: REG add "HKLM\SYSTEM\CurrentControlSet\services\SCardSvr" /v Start /t REG_DWORD /d 3 /f Disabled: REG add "HKLM\SYSTEM\CurrentControlSet\services\SCardSvr" /v Start /t REG_DWORD /d 4 /f Automatic (Delayed Start): REG add "HKLM\SYSTEM\CurrentControlSet\services\SCardSvr" /v Start /t REG_DWORD /d 2 /f
  4. เปลี่ยน Startup Type แล้ว พิมพ์คำสั่ง restart Smart Card service:
    net start SCardSvr