Bắt đầu nhắc lệnh nâng cao trong thư mục% UserProfile% theo mặc định?


7

Khi tôi khởi động một Dấu nhắc lệnh nâng cao trong Windows 7 hoặc Windows Vista, thư mục ban đầu là %SystemRoot%\system32thư mục.

Đây là hành vi mặc định của Windows và không phải là vấn đề cụ thể đối với hệ thống của tôi, vì vậy tôi không mong đợi một loại "sửa lỗi" nào ở đây, mà là một tinh chỉnh để "sửa" hành vi mặc định.

Để chế lại:

  • Nhấp vào Bắt đầu
  • Nhập cmd.exe
  • Lượt truy cập Ctrl+ Shift+Enter
  • Khi lời nhắc độ cao xuất hiện, chọn Yes

Kỳ vọng:

  • Thư mục ban đầu là thư mục hồ sơ người dùng của tôi, vd C:\Users\merlyn

Thực tế:

  • Thư mục ban đầu là thư mục system32, C:\Windows\system32

Tôi muốn điều này dễ dàng để làm việc với. Tôi muốn nó áp dụng cho tất cả các lời nhắc / phím tắt cmd.exe, bất kể chúng bắt đầu từ đâu. Ví dụ: tôi muốn nó tự động áp dụng cho tôi Visual Studio Command Prompt (2010)mà không phải sửa đổi phím tắt cụ thể đó.

Tôi muốn điều này được an toàn để các tệp bó không bị hỏng bởi các bản sửa lỗi của tôi.

Có cách nào dễ dàng và an toàn để nhận bất kỳ dấu nhắc lệnh nâng cao nào để bắt đầu trong %UserProfile%thư mục theo mặc định không?

Câu trả lời:


12

Mở một dấu nhắc lệnh nâng cao luôn bắt đầu %systemroot%\System32, lý do là nếu bạn đang làm gì đó yêu cầu đặc quyền nâng cao, bạn có thể đang làm việc trên các tệp hệ thống chứ không phải chỉ các tệp của chính người dùng mà bạn có thể làm mà không có đặc quyền nâng cao.

Bạn có thể làm việc xung quanh nó:

  1. Mở trình soạn thảo sổ đăng ký (ví dụ regedit:)
  2. Hướng đến HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. Chỉnh sửa Autorungiá trị để đọccd /d %userprofile%

Bây giờ bất cứ khi nào bạn mở một dấu nhắc lệnh, nó sẽ bắt đầu hoặc chuyển sang, như trường hợp có thể là thư mục hồ sơ người dùng. Ngoài ra, thay vì HKCU, bạn có thể đặt giá trị trong HKLMnhánh để làm điều đó cho tất cả người dùng trên hệ thống.


Cảm ơn, tôi sẽ cho nó một shot! Chỉ là một nhận xét: Nếu điều này là đúng, có vẻ như là lý do khập khiễng đối với tôi :) Tệp duy nhất tôi thường xuyên chỉnh sửa với các đặc quyền nâng cao nằm dưới system32là tệp máy chủ. Phần còn lại của chúng hầu như luôn nằm dưới %ProgramFiles%/ %ProgramFiles(x86)%, một thư mục tùy chỉnh trong thư mục gốc hoặc một tệp cho một tài khoản khác bên dưới C:\Users.
Merlyn Morgan-Graham

Không có cách nào để biết lý do tại sao bạn mở một dấu nhắc lệnh nâng cao, vì vậy nó chỉ sử dụng System32 làm mặc định hợp lý.
Synetech

Tôi sẽ trả lời điều này với một phản bác. Nhưng tôi nhận ra đó là cả suy đoán nhàn rỗi, và khá OT, vì vậy tôi sẽ bỏ nó đi :) Một lần nữa cảm ơn sự giúp đỡ của bạn. Tôi sẽ chấp nhận ngay bây giờ và trả lời sau nếu tôi thấy mọi thứ bị hỏng do sửa lỗi này.
Merlyn Morgan-Graham

Vâng, bạn nói rằng bạn đang mở dấu nhắc lệnh thông qua cmd. Trong trường hợp đó, Windows không biết ý định của bạn là gì (có thể PS9 có thể đọc được suy nghĩ của bạn , nhưng Windows thì không thể). Nếu bạn muốn mở một dấu nhắc lệnh đến một vị trí cụ thể, bạn có thể sử dụng tiện ích mở rộng shell, chẳng hạn như Kai Liu , cho phép bạn mở một dấu nhắc lệnh thông thường hoặc nâng cao tại thư mục đó.
Synetech

Ổn thỏa. Vì bạn tiếp tục chủ đề ... lol. Windows không bao giờ có ý tưởng nào về ý định của tôi khi khởi chạy cmd.exe và điều này không thay đổi tùy thuộc vào việc tôi có nâng cao hay không. Đã có một mặc định và không có lý do thuyết phục để thay đổi nó, vì không có thông tin mới được cung cấp. Tôi suy đoán (vì tôi đã không làm việc với nhóm đã triển khai UAC hoặc vá cmd.exe sau khi UAC được thêm vào) rằng đây chỉ là một sự châm biếm của cmd.exe và toàn bộ hành vi "thay đổi" này là không cố ý. Nó có lẽ chỉ là sản phẩm phụ của nhiều thứ, và thứ tự thực hiện các cuộc gọi hệ thống
Merlyn Morgan-Graham

0

Giả sử đăng nhập merlyn của bạn có quyền quản trị, nó không thực sự có các quyền đó cho đến khi lời nhắc UAC đã được xử lý. Các quyền này đi kèm với việc xác nhận lại các quyền nâng cao và nhận lại chúng khi lời nhắc đã được thông qua chính xác. Theo mã thông báo nâng cao, nó đang chạy trong một bối cảnh bảo mật khác với mức tiêu chuẩn của tài khoản của bạn được UAC ủy quyền trước. Tất cả điều này có nghĩa là kết quả mong đợi của bạn là sai và kết quả thực tế là mong đợi.

Hiểu và cấu hình kiểm soát tài khoản người dùng


Tôi hiểu rằng có hai bộ mã thông báo có liên quan, nhưng mã thông báo liên quan đến hồ sơ người dùng như thế nào? Ví dụ, biến môi trường %UserProfile%không được thay đổi theo dấu nhắc lệnh nâng cao này và nếu bạn nhập CD %UserProfile%bạn sẽ kết thúc trong thư mục đó. Nếu bạn tạo tệp, chủ sở hữu vẫn là "bạn", v.v ... Tôi biết kéo và thả bị hỏng bởi các chương trình nâng cao, nhưng còn gì nữa không? Môi trường / con đường thực sự nên khác nhau? "Kết quả mong đợi của bạn là sai và kết quả thực tế được mong đợi" - vâng tôi biết đây là cách nó hoạt động trên bản cài đặt mới. Tôi muốn "sửa" nó.
Merlyn Morgan-Graham

Tôi đã cố gắng chỉnh sửa câu hỏi của mình để cố gắng chỉ ra rằng những gì tôi mong đợi khác với những gì Windows làm theo mặc định. Vui lòng cho tôi biết nếu những gì tôi hỏi có vấn đề, có thể a) từ ngữ không rõ ràng b) nó không có ý nghĩa logic do cách thức hoạt động của quyền hoặc không thể được thực hiện c) một cái gì đó sẽ bị phá vỡ nếu điều này được làm việc xung quanh.
Merlyn Morgan-Graham
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.