2010-09-30 22 views
7

Tôi muốn chuyển hướng đầu ra của lệnh (trong dòng lệnh của Windows) đến tệp có tên là ngày giờ hiện tại. Ví dụ:Làm cách nào để chuyển hướng đầu ra tới một tệp có tên là ngày và giờ hiện tại?

my_path\mysqldump.exe my_database_name > auto_generated_file_name 

nơi auto_generated_file_name phải là một cái gì đó như 2010_09_30___11_41_58.txt.

Lệnh này sẽ tự động chạy theo thời gian. Đây là lý do tôi cần tên tệp là tự động được tạo.

Phương pháp dễ nhất để đạt được điều này là gì?

Trả lời

7

Lệnh sau sẽ tạo ra một file trống với tên tập tin mong đợi:

> type nul > %date:~10,4%_%date:~4,2%_%date:~7,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%.txt 

> dir /b 
2010_09_29__22_12_44.txt 

Bạn có thể sử dụng các phần sau type nul > ở vị trí của auto_generated_file_name của bạn.

+0

Cảm ơn rất nhiều !! –

+1

Vấn đề là điều này phụ thuộc rất nhiều vào miền địa phương của bạn - Đối với tôi nó được sản xuất: '017_0._1 .__ 10_41_13.txt' – JaKu

+0

Sử dụng'% time: ~ 0,2% 'thêm khoảng trống vào tên tệp của bạn vào buổi sáng. Trích dẫn tên tập tin trong lệnh của bạn để cho Windows biết là OK. – atheaos

3

Có một nice solution here, và nó hầu như phù hợp với ví dụ của bạn định dạng:

set dd = %date% %Time% 
my_command > MyFile__%dd:~0,2%_%dd:~3,2%_%dd:~6,4%___%dd:~11,2%_%dd:~14,2%.txt 

Output: "MyFile__22_05_2009__6_20.txt"

Các vấn đề liên quan