Tại sao tôi phải nhập tệp .reg từ RegEdit trong Win7 mà không phải từ tệp .bat?


3

Tôi có một tệp .bat thực hiện cuộc gọi đến tệp .reg (đại loại như: regedit mytest.reg). Tôi chạy tệp .bat với tư cách quản trị viên nhưng tôi gặp lỗi: "Không thể nhập mytest.reg: Lỗi khi mở tệp. Có thể có lỗi hệ thống đĩa hoặc tệp."

Tuy nhiên, nếu tôi mở RegEdit (với tư cách quản trị viên) trước thì Tệp >> Nhập >> mytest.reg ... nó sẽ chạy thành công.

Có ý kiến ​​gì không?


Btw, đó là Windows 7 Ultimate (64-bit) trong hình ảnh VMWare.
Brian T Hannan

Nó cũng hoạt động nếu tôi mở cmd.exe với tư cách quản trị viên, sau đó khởi động tệp .bat. Vì một số lý do, có vẻ như Run as Administrator cho tệp .bat không hoạt động.
Brian T Hannan

Thật khó để tin rằng không ai khác gặp vấn đề tương tự.
Brian T Hannan

Hóa ra nếu bạn có tệp .bat và các đường dẫn tương đối trong đó thì nó không biết sử dụng chúng đúng cách. Nhưng nếu bạn chỉ đặt các đường dẫn tuyệt đối trong tệp .bat thì nó có hoạt động ... lỗi trong các tệp bó của Windows 7 không?
Brian T Hannan

@Brian: Đường dẫn có liên quan đến "thư mục hiện tại", có thể đơn giản là khác nhau khi bạn sử dụng "Chạy với tư cách quản trị viên". Thêm một cdđể xem thư mục hiện tại là gì.
grawity

Câu trả lời:


2

Có cùng một vấn đề. Khi bạn chấp nhận chạy dưới quyền nâng cao, "gốc" của phiên nâng cao không có cùng vị trí tương đối cho lệnh thực tế.

Nếu bạn chỉ định một địa chỉ tuyệt đối cho tệp, nó sẽ hoạt động.

Bây giờ câu hỏi $ 0,42 ... thư mục hiện tại cho phiên nâng cao trong đó lệnh đang chạy là gì?


1

.regtập tin trên một khối lượng mạng? Quản trị viên cục bộ thường không thể đọc các tệp từ một mạng.


Không, đó là địa phương và trên Máy tính để bàn ... cả .reg và .bat
Brian T Hannan

Khối lượng mạng là vấn đề đối với tôi. Sẽ thật tuyệt nếu Windows sẽ nói với bạn điều đó.
Scott Lundberg

1

Nó hoạt động với tôi trong một thử nghiệm đơn giản, nhưng tôi phải trả lời các lời nhắc liên quan đến UAC khi batchfile chạy.

Bạn đã tùy chỉnh cài đặt UAC của bạn? Có thể khi bạn chạy tệp bó, mọi thứ được cấu hình để không nâng (hoặc thậm chí yêu cầu nâng) nên không thành công.

Nhưng regedit nâng lên khi nó tải (bất kể cài đặt UAC, tôi nghĩ vậy).


Tôi đã tắt UAC và vẫn không làm việc cho tôi.
Brian T Hannan

1

Tôi đã có cùng một vấn đề và thông báo lỗi chính xác .. Tôi không thể lấy tệp REG của mình từ tệp bó trên máy Win7 Pro 64 bit của mình. Cuối cùng, nó đã hoạt động bằng cách đánh dấu puttin xung quanh tệp REG .. (VÍ DỤ)

c: \ windows \ regedit.exe / s "C: \ Windows \ Kích hoạt tập lệnh đăng nhập DTS.reg"

Hy vọng điều này hữu ích


Một phần lý do khiến bạn không làm việc là vì bạn có khoảng trắng trong tên tệp.
MBraedley

0

thử sử dụng công tắc / C "regedit / C myfile.reg"


Không, không làm việc.
Brian T Hannan

0

Hãy thử điều này từ một dấu nhắc CMD nâng cao:

reg import file.reg

0

Nó dường như không hoạt động với đường dẫn tương đối như những người khác đề xuất.

Đây là những gì làm việc cho tôi:

Chỉ cần thêm %~dp0vào trước tên tệp và nó sẽ sử dụng điền vào đường dẫn trực tiếp đến tệp bó. Vì vậy, miễn là .regtệp nằm trong cùng thư mục với tệp bó bạn muốn sử dụng.

Ví dụ regedit.exe /s %~dp0registryfile.reg


0

Nó dường như không hoạt động với đường dẫn tương đối như những người khác đề xuất.

Đây là những gì làm việc cho tôi:

Chỉ cần thêm %~dp0vào trước tên tệp và nó sẽ điền vào đường dẫn trực tiếp đến tệp bó. Vì vậy, miễn là tệp .reg nằm trong cùng thư mục với tệp bó bạn muốn sử dụng.

Ví dụ:

regedit.exe /s %~dp0registryfile.reg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.