Tôi đang tạo tệp loạt Windows có thể trở nên khá lớn, giả sử một vài megabyte. Tôi đã tìm kiếm các giới hạn có thể về kích thước tệp tối đa và độ dài tối đa của một dòng trong một tệp lô, nhưng tôi không thể tìm thấy bất kỳ thứ gì. Bất kỳ kinh nghiệm thực tế?Giới hạn kích thước tệp và giới hạn độ dài dòng cho các tệp hàng loạt của Windows
Trả lời
Tôi nghĩ rằng việc kích thước tệp có thể lên tới 2 GB, thậm chí có thể nhiều hơn. Đó là một ngôn ngữ diễn giải, vì vậy nếu điều này được thực hiện đúng, giới hạn kích cỡ tệp phải là giới hạn kích cỡ tệp của hệ thống tệp. Tôi không bao giờ có bất kỳ lỗi nào với các tệp hàng loạt quá lớn và một số tệp mà tôi đã tạo có kích thước là vài MB.
Nên có giới hạn độ dài dòng, nhưng phải lớn hơn 256. Điều này có thể dễ dàng được kiểm tra, chỉ cần thực hiện một số "set A = 123456789012 ... endofline", sau đó "echo% A%" và bạn sẽ thấy bạn có thể đi bao xa.
Nó hoạt động cho tôi với các dòng rất dài (khoảng 4K), nhưng tại 8K echo
cho một thông báo "Dòng quá dài", vì vậy 8192 byte phải là một số giới hạn.
Bây giờ thử nghiệm để kích hoạt, quá, thử nghiệm với "echo off", hàng ngàn dòng thiết lập, sau đó "echo end", và nó làm việc cho một tập tin 11 MB (mặc dù phải mất một vài giây để kết thúc :) - không giới hạn trong tầm nhìn ở đây.
110 MB cũng đã hoạt động. Như thế này đủ chưa? ;)
đẹp. cảm ơn cho thử nghiệm này cho tôi :-) 8k âm thanh rất nhiều, vì vậy tôi sẽ hy vọng điều này là đủ. Nếu không, tôi có thể chia đôi đường với chiếc mũ nhỏ này ^? – zedoo
Không, chỉ cần thử nghiệm, quá. 8K có vẻ là một giới hạn khó khăn, ngay cả khi chia tách. – schnaader
Cũng lưu ý rằng điều này là dành cho các dòng cuối cùng (với các biến được thay thế), do đó, echo% a %% a% sẽ thất bại nếu% a% là chuỗi dài hơn 4K! – schnaader
Một số ý tưởng, không nhất thiết phải loại trừ lẫn nhau:
- Đổi thành PowerShell.
- Chuyển sang ứng dụng hướng dữ liệu để tất cả các công cụ biến được lưu trữ trong tệp dữ liệu (CSV, văn bản, bất kỳ thứ gì) và kết quả là bạn có thể có tập lệnh soạn thảo nhỏ hơn, mở tệp dữ liệu và hoạt động .
Nó phải hoạt động tối thiểu 2 GB. Các dòng được đọc trực tiếp từ tệp BAT trên đĩa (không có bộ nhớ đệm liên quan). Tôi đưa ra tuyên bố này vì những điều sau đây:
Thực tế bạn có thể chỉnh sửa tệp BAT trong khi đang chạy! Và nó sẽ hoạt động ngay cả khi trình chỉnh sửa văn bản có thể đổi tên phiên bản gốc và lưu phiên bản mới ở vị trí mới trên đĩa . Miễn là bạn cẩn thận không chèn văn bản ở trên lệnh hiện đang thực hiện. Các dòng có thể được thay đổi/chèn/xóa bên dưới lệnh hiện tại đang thực thi và các dòng mới sẽ là các dòng được thực hiện. Tôi có thường thực hiện việc này với các tệp BAT có chứa một danh sách dài các lệnh wget , mỗi lệnh mất hàng chục phút để thực thi.
Theo Microsoft, không có giới hạn đối với kích thước tệp hàng loạt. Tuy nhiên, một dòng tệp lô không được vượt quá 127 byte hoặc nó sẽ bị cắt bớt khi thực thi.
Xem Maximum Line Length and Count for Batch Files & CONFIG.SYS
Một dòng duy nhất không được vượt quá 8192 ký tự, ngay cả sau khi việc mở rộng %var%
hoặc !var!
biểu thức, nếu không bạn có một lỗi.
Không có giới hạn (đã biết) cho chính tệp đó.
Độ dài tối đa của bất kỳ dòng lệnh (hoặc biến nào) trong CMD là 8191 characters.
- 1. Giới hạn kích thước tệp SharePoint
- 2. Nguồn giới hạn độ dài dòng
- 3. Giới hạn kích thước tệp SVG cho iOS Safari
- 4. hàng đợi kích thước giới hạn
- 5. Ghi đè hiển thị của giới hạn kích thước trang/giới hạn kích thước StreamReader?
- 6. Cách nhận giới hạn độ dài dòng lệnh?
- 7. Giới hạn kích thước Intent.putExtras?
- 8. Tăng giới hạn kích thước tải lên tệp trong iis6
- 9. Giới hạn kích thước mảng
- 10. Cách phát hiện giới hạn kích thước tệp hệ thống của các tệp riêng lẻ
- 11. Giới hạn kích thước tệp hành động MVC3
- 12. Giới hạn kích thước tải lên tệp Rails
- 13. Giới hạn kích thước tệp trong kho git
- 14. giới hạn kích thước MySQL VARCHAR
- 15. Cách hạn chế giới hạn kích thước tải lên tệp dựa trên loại tệp .htaccess
- 16. Giới hạn kích thước tham số JSON
- 17. Phiên: giới hạn kích thước phiên
- 18. Giới hạn kích thước QPage/QPixmap?
- 19. Giới hạn kích thước APK của Android trong Google Play
- 20. Giới hạn kích thước phản hồi AJAX
- 21. Giới hạn tải lên tệp trong HTTP
- 22. Giới hạn độ dài chuỗi trong FreeMarker
- 23. Tách HTML HTML: giới hạn kích thước cho bộ đệm
- 24. Giới hạn kích thước Haskell Tuple
- 25. giới hạn kích thước cookie chrome
- 26. Matrix giới hạn kích thước trong MATLAB
- 27. HTML5 Canvas: Cách biết giới hạn cho kích thước?
- 28. Giới hạn kích thước tối đa của HashMap trong Java
- 29. giới hạn kích thước gói cho trò chơi iPhone?
- 30. Giới hạn kích thước ngăn xếp Javascript của trình duyệt
Nếu không đi vào chính xác những gì bạn đang có kế hoạch để viết vào tập tin thực thi, có vẻ như với tôi rằng nếu bạn cần viết vài megabyte của nó, bạn đang làm điều gì đó sai trái. Megabyte lô không tấn công tôi như một thiết kế tốt. –
bạn nói đúng. đó là giải pháp nhanh chóng - nhưng đó là cách nhanh nhất để đi. – zedoo