CMD for /f tokens nhiều cột.

Liên hệ QC

Comet297

Thành viên thường trực
Tham gia
29/11/12
Bài viết
246
Được thích
152
Xin chào GPE,

Tôi sử dụng CMD for /f tokens nhưng không lấy được dữ liêụ lớn hơn 31 cột
Nhờ các anh chị trợ giúp CMD cho trường hợp này.

Xin cảm ơn GPE

for /f "Tokens=1,2,5" %A in (D:\1.csv) do echo %A,%B,%C >> 2.csv
 
Lần chỉnh sửa cuối:
Cập nhật: sửa chính tả 11:32
 
Ủa mấy trang về cmd có ghi rồi mà:
Trên 31 cột thì dùng file batch để chạy các vòng lặp FOR lồng nhau.
Thí dụ:
Mã:
for /F "tokens=1-25*" %%A in (d:\1.txt) do (
    for /F "tokens=1-10" %%a in ("%%Z") do (
       echo %%U,%%V,%%W,%%X,%%Y,%%a,%%b,%%f,%%g,%%h,%%i,%%j >>"d:\2.txt"
    )
)
pause

để lấy các cột từ 21-25, 26, 27, 31, 32, 33, 34, 35.
 
@befaint
Mình upload file 1.csv trong đó có 1000 cột
Mình mong muốn dùng CMD để lấy cột 50,90,190,590,990,999. Mong nhận được sự giúp đỡ từ bạn.

@AutoReply
Mong bạn chỉ giúp cụ thể hơn cho trường hợp file đính kèm.

Xin cảm ơn các bạn!
 
Mong nhận được phản hồi từ GPE!
 
3 tháng chưa có đáp án, cũng hoan hỷ đón nhận sự lắng nghe của các anh chị em.

Chúc GPE phát triển!
 
Mình không rành DOS nhưng text thử thì CMD nó lấy hết 1000 cột mà!?
CMD FOR.jpg
 
Cảm ơn anh đã phản hồi. Nhờ anh check theo các bước sau:

1. Tạo csv có 1000 cột
2. Chạy cmd token với tokens=200,300,400,500
3. Mở file kết quả

Như em đã thử thì vẫn chưa được.
Cảm ơn anh rất nhiều!
 
Nếu là việc làm thì cứ làm cho ra kết quả, hoàn thành công việc, rồi lĩnh lương. Có ai bắt bạn phải dùng dòng lệnh đâu nhỉ. Còn nếu chỉ làm chơi thì tôi không còn ý kiến gì nữa.
 
Nếu là việc làm thì cứ làm cho ra kết quả, hoàn thành công việc, rồi lĩnh lương. Có ai bắt bạn phải dùng dòng lệnh đâu nhỉ. Còn nếu chỉ làm chơi thì tôi không còn ý kiến gì nữa.
Chào bác,

Công việc hiện nay của Comet là phải thống kê data từ các file tự động được tạo ra từ phần mềm trên nhiều máy khác nhau.

Mỗi file có hơn 5000 dòng, gần 1500 cột. Tùy từng trường hợp sẽ lấy một vài cột nhất định để tổng hợp kết quả.

Nếu thao tác gom các file lẻ thì dung lượng file rất lớn, tốn thời gian thao tác có thể đơ máy (đó chỉ tính riêng việc mở file)

Đây là câu hỏi liên quan hiệu suất công việc Comet chứ không làm chơi đâu bác.

Cảm ơn bác đã quan tâm, dành thời gian trả lời!
 
Công việc hiện nay của Comet là phải thống kê data từ các file tự động được tạo ra từ phần mềm trên nhiều máy khác nhau.

Mỗi file có hơn 5000 dòng, gần 1500 cột. Tùy từng trường hợp sẽ lấy một vài cột nhất định để tổng hợp kết quả.

Nếu làm về data analysis và muốn dùng dòng lệnh sao không đổi qua Python luôn.
 
Nếu làm về data analysis và muốn dùng dòng lệnh sao không đổi qua Python luôn.
Cảm ơn bác đã hồi đáp. Có 2 lý do cho vấn đề này

1. Bảo mật công ty không cho cài đặt phần mềm ngoài.
2. Giới hạn kiến thức, chưa tìm hiểu Python bác ạ
 
Bảo mật công ty không cho cài đặt phần mềm ngoài.
Còn cần xem quy định công ty coi phần mềm nào là "phần mềm ngoài" đã chứ bạn.

Python là mã nguồn mở. Công ty nào hạn chế cái này thì đúng là bảo mật hơi bị kinh khủng.

2. Giới hạn kiến thức, chưa tìm hiểu Python bác ạ
liên quan hiệu suất công việc
Cũng không nhất thiết mình phải học, phải tự làm mà. Ví dụ thay vì phải đau đầu với mớ cmd Dos kia thì chi một / vài ngày lương thuê người khác làm.
 
Còn cần xem quy định công ty coi phần mềm nào là "phần mềm ngoài" đã chứ bạn.

Python là mã nguồn mở. Công ty nào hạn chế cái này thì đúng là bảo mật hơi bị kinh khủng.



Cũng không nhất thiết mình phải học, phải tự làm mà. Ví dụ thay vì phải đau đầu với mớ cmd Dos kia thì chi một / vài ngày lương thuê người khác làm.
Cảm ơn bác nhiều.
 
Comet đã nhận được câu trả lời từ diễn đàn chuyên Dos. Một sự trợ giúp nhiệt tình, trách nhiệm để giải quyết bài toán của mình. Rất ngạc nhiên về cách hồi đáp và hướng dẫn từ những người ở diễn đàn đó.

Mình chia sẻ link để close topic này và nếu bạn nào cùng câu hỏi có thể tham khảo.

 
Comet đã nhận được câu trả lời từ diễn đàn chuyên Dos. Một sự trợ giúp nhiệt tình, trách nhiệm để giải quyết bài toán của mình. Rất ngạc nhiên về cách hồi đáp và hướng dẫn từ những người ở diễn đàn đó.

Mình chia sẻ link để close topic này và nếu bạn nào cùng câu hỏi có thể tham khảo.

Không rành về JScript; nhưng đọc trong topic thì aGerman cũng đang dùng ('Scripting.FileSystemObject') để đọc file *.cvs.
Cái này thì trong diễn đàn GPE cũng có viết về chủ đề này. Tổng quát hơn thì có thể dùng để đọc các file text.
Tạm đoán là bạn sẽ phải đổi tên file cho đúng với *.bat rồi run, rồi copy tay trong output ra.
Có thể do "chưa hiểu nhau", chứ các bước này Excel hoàn toàn có thể dùng ('Scripting.FileSystemObject'), chọn từng file *.cvs đọc lần lượt, Paste xuống sheet của excel nhẹ nhàng.
P/s: dạo gần đây bị comment là chủ topic muốn dùng công cụ này mà mình cứ xúi dùng công cụ khác. Nếu Comet297 chỉ muốn dùng DOS thì thông tin trên đọc để biết thôi nhé.
https://www.giaiphapexcel.com/diendan/threads/lấy-dữ-liệu-từ-file-csv.143561/
https://www.giaiphapexcel.com/diendan/threads/tổng-quan-về-filesystemobject.95898/
 
Web KT
Back
Top Bottom