Tôi có một tập tin thực thi mà tôi thường gọi như thế này:thế nào để chạy một tập tin thực thi cmd.exe trong một vỏ tiểu
longjob.cmd >result.txt 2>&1
này hoạt động tốt, nhưng kịch bản thay đổi thư mục trong thực hiện của nó để lại vỏ của tôi trong thư mục đó - đó là một mối phiền toái.
Có cách nào để chạy lệnh trong một trình bao phụ hay không - trong khi vẫn cho phép thu được đầu ra?
Tôi đã thử
cmd longjob.cmd >result.txt 2>&1
mà chỉ ngồi chờ đợi một lệnh thoát.
Ngoài ra tôi đã cố gắng
start longjob.cmd >result.txt 2>&1
mà chạy kịch bản, nhưng trong một cửa sổ mới và tất cả các đầu ra sẽ được gửi đến cửa sổ đó thay vì tập tin.
Cách dễ nhất để giải quyết vấn đề này là thực sự sửa chữa tệp lô. 'pushd' /' popd' là trợ giúp ở đây. Trừ khi mục đích của tập tin batch là thay đổi thư mục tôi sẽ không bao giờ viết một thư mục nào nằm trong thư mục khác với thư mục bắt đầu. – Joey
Điều gì về việc hủy bỏ tập tin batch với^C chẳng hạn. Có cách nào hợp lý để khôi phục lại thư mục làm việc ban đầu mặc dù các tập tin thực thi bị hủy bỏ? – bambams