2015-08-31 31 views
5

Tôi đã viết một tệp Lô rất đơn giản để chuyển hướng đầu ra tới một tệp. Đây là cơ thể văn bản:Có giới hạn kích thước đối với các tệp đầu ra theo lô không?

DATE /T > FileTreeList.txt 
TIME /T >> FileTreeList.txt 
cd >> FileTreeList.txt 
tree /f /a >> FileTreeList.txt 

Khi tôi chạy File hàng loạt trong một thư mục có rất nhiều thư mục và các tập tin, các tập tin đầu ra (FileTreeList.txt) truncates tại ~ 621KB. Nếu tôi chạy tập tin Batch từ chế độ lệnh và đầu ra trực tiếp vào một tập tin, tôi nhận được kết quả tương tự. Tuy nhiên, nếu tôi để kết quả hiển thị trên màn hình, nó sẽ hiển thị tất cả các kết quả.

Tại sao nó xảy ra và cách khắc phục?

+3

Bạn có nhận được kết quả tương tự nếu bạn đính kèm tất cả các lệnh trong dấu ngoặc đơn và chỉ mở FileTreeList.txt một lần để viết không? '(date/t & time/t & cd & tree/f/a)> FileTreeList.txt' – rojo

+0

Bạn có chắc rằng tập tin batch với 4 dòng ở trên chạy với cùng đặc quyền (= cùng tài khoản người dùng) như khi bạn chạy lệnh cuối cùng bằng tay từ bên trong cửa sổ dấu nhắc lệnh với kết quả xuất ra cửa sổ? Điều này rất quan trọng trong trường hợp truy cập quyền truy cập trên tất cả các thư mục có thể là một lời giải thích cho các danh sách cây khác nhau. – Mofi

+0

Tôi đã thử bốn dòng của bạn trong một tập tin batch với chuyển đổi thư mục hiện tại đầu tiên đến gốc của ổ C: và viết đầu ra của bốn lệnh để 'F: \ Temp \ FileTreeList.txt' trên Windows 7 x64. Tệp danh sách có 8,3 MB sau khi thực thi tệp hàng loạt đã hoàn thành chứa toàn bộ cây. – Mofi

Trả lời

1

lẽ ổ cứng của bạn là đầy đủ và chỉ có ~ 621KB của không gian trống;)

0

Tôi đoán đó là cây của thư mục hiện hành. Nếu bạn muốn một tệp lớn hơn, hãy thử tới% HOMEDRIVE% và liệt kê tất cả các thư mục/tệp trong ổ đĩa. Hãy thử mã này:

@rem Turn the command line (C:>COMMAND before every command) 
@echo off 
rem Go to the homedrive (if not currently in) 
if "%cd:~0,1%"=="%homedrive:~0,1%" call %homedrive:~0,1%: 
rem go to the root of homedrive 
cd %HOMEDRIVE% 
rem execute your code 
DATE /T > FileTreeList.txt 
TIME /T >> FileTreeList.txt 
cd >> FileTreeList.txt 
tree /f /a >> FileTreeList.txt 
Các vấn đề liên quan