Python thoát không gian trong đường dẫn
Tập lệnh không thể thực thi chạy tệp từ PickupTest. ps1. Tuy nhiên, tôi thấy rằng powershell nhấp nháy, điều đó có nghĩa là nó mở ra để cố lấy tệp nhưng không có gì xảy ra sau đó. Có người đề nghị tôi tìm cách xử lý không gian trong đường dẫn để giải quyết vấn đề. Bất kỳ trợ giúp sẽ được đánh giá cao Show WshShell. Run("powershell -file \"" + pathvar + "\*My Tests*\\PickupTest. ps1") Cảm ơn windows-server-powershellBình luận Hiển thị nhận xét 0 Bình luận 5. Cần 1600 ký tự còn lại ký tự
▼
tệp đính kèm. Có thể sử dụng tối đa 10 tệp đính kèm (bao gồm cả hình ảnh) với tối đa 3. 0 MiB mỗi cái và 30. tổng cộng 0 MiB Để thoát khoảng trắng trong đường dẫn tệp Windows, hãy đặt dấu ngoặc kép xung quanh phần đường dẫn có khoảng trắng trong đó. Ví dụ. C. \"Thư mục kiểm tra"\text. txt. Bạn cũng có thể đặt dấu ngoặc kép xung quanh toàn bộ đường dẫn để đảm bảo bạn không bỏ sót bất kỳ khoảng trống nào Các môi trường dòng lệnh như Dấu nhắc lệnh của Windows và PowerShell sử dụng khoảng trắng để phân tách các lệnh và đối số—nhưng tên tệp và thư mục cũng có thể chứa khoảng trắng. Để chỉ định đường dẫn tệp có khoảng trắng bên trong, bạn cần "thoát" nó Dòng lệnh 101. Tại sao bạn phải thoát khỏi không gian“Thoát khỏi” một ký tự thay đổi ý nghĩa của nó. Ví dụ: thoát khỏi một khoảng trắng sẽ khiến trình bao coi nó giống như một ký tự khoảng trắng tiêu chuẩn thay vì một ký tự đặc biệt phân tách các đối số dòng lệnh Ví dụ: giả sử bạn có một tệp văn bản mà bạn muốn xem nội dung của. Bạn có thể làm điều đó với lệnh loại. Giả sử tệp văn bản ở vị trí type C:\Test\File.txt Tuyệt quá. Bây giờ, nếu bạn có cùng một tệp tại type C:\Test Folder\Test File.txt Dòng lệnh cho rằng bạn đang cố tìm một tệp có tên Ba cách để thoát khỏi không gian trên WindowsCó ba cách khác nhau để bạn có thể thoát khỏi đường dẫn tệp trên Windows
Chúng tôi sẽ chỉ cho bạn cách sử dụng từng phương pháp Kèm theo Đường dẫn trong Dấu ngoặc kép ( ” )Cách tiêu chuẩn để đảm bảo Windows xử lý đúng đường dẫn tệp là đặt nó trong dấu ngoặc kép ( ” ) ký tự. Ví dụ: với lệnh mẫu của chúng tôi ở trên, thay vào đó, chúng tôi chỉ chạy như sau type "C:\Test Folder\Test File.txt" Bạn thực sự có thể đặt các phần của đường dẫn trong dấu ngoặc kép nếu bạn thích. Ví dụ: giả sử bạn có một tệp có tên Tệp. txt trong thư mục đó. Bạn có thể chạy như sau type C:\"Test Folder"\File.txt Tuy nhiên, điều đó không cần thiết—trong hầu hết các trường hợp, bạn chỉ cần sử dụng dấu ngoặc kép xung quanh toàn bộ đường dẫn Giải pháp này hoạt động cả trong môi trường Command Prompt (CMD) truyền thống và trong Windows PowerShell Thỉnh thoảng. Sử dụng ký tự dấu mũ để thoát khỏi khoảng trắng ( ^ )Trong Dấu nhắc Lệnh, ký tự dấu mũ ( ^ ) sẽ cho phép bạn thoát khỏi dấu cách — theo lý thuyết. Chỉ cần thêm nó trước mỗi khoảng trắng trong tên tệp. (Bạn sẽ tìm thấy ký tự này trong hàng số trên bàn phím của mình. Để nhập ký tự dấu mũ, nhấn Shift+6. ) Đây là vấn đề. Mặc dù điều này sẽ hoạt động và đôi khi nó hoạt động, nhưng không phải lúc nào nó cũng hoạt động. Cách xử lý ký tự này của Command Prompt thật kỳ lạ Ví dụ: với lệnh mẫu của chúng tôi, bạn sẽ chạy lệnh sau và nó sẽ không hoạt động type C:\Test^ Folder\Test^ File.txt Mặt khác, nếu chúng ta thử mở trực tiếp tệp của mình bằng cách nhập đường dẫn của nó vào Dấu nhắc Lệnh, chúng ta có thể thấy rằng ký tự dấu mũ thoát khỏi khoảng trắng đúng cách C:\Test^ Folder\Test^ File.txt Vậy khi nào nó hoạt động? . Số dặm của bạn có thể thay đổi tùy thuộc vào lệnh bạn đang sử dụng. Cách xử lý ký tự này của Command Prompt thật kỳ lạ. Hãy thử với bất kỳ lệnh nào bạn đang sử dụng, nếu bạn quan tâm—nó có thể hoạt động hoặc không Để nhất quán, chúng tôi khuyên bạn nên sử dụng dấu ngoặc kép trong Dấu nhắc Lệnh—hoặc chuyển sang PowerShell và sử dụng phương pháp trọng âm bên dưới PowerShell. Sử dụng ký tự trọng âm ( ` )PowerShell sử dụng ký tự trọng âm ( ` ) làm ký tự thoát. Chỉ cần thêm nó trước mỗi khoảng trắng trong tên tệp. (Bạn sẽ tìm thấy ký tự này phía trên phím Tab và bên dưới phím Esc trên bàn phím của mình. ) type C:\Test` Folder\Test` File.txt Mỗi ký tự trọng âm yêu cầu PowerShell thoát khỏi ký tự sau Lưu ý rằng điều này chỉ hoạt động trong môi trường PowerShell. Bạn sẽ phải sử dụng ký tự dấu mũ trong Command Prompt Nếu bạn đã quen với các hệ điều hành giống UNIX như Linux và macOS, bạn có thể quen với việc sử dụng ký tự dấu gạch chéo ngược ( \ ) trước dấu cách để thoát nó. Windows sử dụng điều này cho các đường dẫn tệp bình thường, vì vậy nó không hoạt động—-các ký tự dấu mũ ( ^ ) và dấu trọng ( ` ) là phiên bản Windows của dấu gạch chéo ngược, tùy thuộc vào trình bao dòng lệnh bạn đang sử dụng |