簡體   English   中英

在Windows資源管理器中以管理員身份在具有特殊字符的文件夾中的腳本

[英]Script in Windows Explorer as Administrator in a folder with special characters

我創建了一個批處理文件,它可以正常工作,但是我想避免以后出現問題,因此我創建了一個名為“ New-action_folder”的文件夾; 我運行了該腳本並且可以運行,但是當我嘗試使用admin用戶打開該腳本時,它不會打開並立即關閉,在另一個文件夾中它可以工作,只有我創建的文件夾不起作用。

這個問題只發生在Windows資源管理器中,與命令無關,我已經進行了測試,只將“ pause”命令放在了蝙蝠上。

文件夾名稱:

Nova-pasta_ação';#@ $%¬&()+-。,{}] [~~~~

在此處輸入圖片說明

我錄制了視頻

https://youtu.be/8O_3vHqqTwg

當您以管理員身份運行時,實際上正在運行的是cmd.exe /C "%1" %*

我認為可以通過編輯注冊表中的條目來改善這一點。

為此,請導航至相關的注冊表項:

HKEY_CLASSES_ROOT\batfile\shell\runas\command

並將條目修改為:

%SystemRoot%\System32\cmd.exe /C ""%1" %*"

就是這樣,您實際上將cmd.exe的整個參數括在單獨的一對雙引號中。

現在,再次嘗試單擊鼠標右鍵,讓我們知道它是否有幫助。

如果有效,那么為了將來驗證,我還將建議對以下內容進行相同的更改:

HKEY_CLASSES_ROOT\cmdfile\shell\runas\command

編輯

這是用於更改條目的批處理文件, 需要以管理員身份運行

@Reg Add "HKEY_CLASSES_ROOT\batfile\shell\runas\command" /VE /D "\"%%SystemRoot%%\System32\cmd.exe\" /C \"\"%%1\" %%*\"" /F>Nul

我找到了解決此問題的解決方案

首先用程序“ Bat To Convert EXE”做一個“ shell”

那就是“殼”

@echo off
call "script.cmd"

我將構建並標記選項“添加管理器清單”

“外殼”是特權管理員,您可以調用腳本,如下所示:

@echo off
echo.>new_file.txt
ping 0 -n 2 >nul
FOR %%c in (new_file.txt) do (set cam="%%~dpc")
echo.%cam%>dir.txt
pause

setlocal enabledelayedexpansion
for /f "tokens=* delims= " %%F in (dir.txt) do (set linha=%%F
set linha=!linha:"=!
set mypath=!linha!
set mypath=!mypath:^(=^(!
set mypath=!mypath:^)=^)!
set mypath=!mypath:^¬=^¬!

set mypath=!mypath!
echo.!mypath!
cd !mypath!
pause
)

資料來源: https : //pt.stackoverflow.com/questions/240236/como-executar-um-script-sem-me-preocupar-com-caracteres-especiais

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM