2017-06-19 70 views
1

如何創建bat文件以使用管理員打開特定文件(主機),編輯並保存?如何使用管理員打開文件,使用bat編輯和保存

我嘗試過,但它不工作:

echo C:\Windows\System32\drivers\etc\hosts >> 192.168.100.9  dev.rw1.local 
echo C:\Windows\System32\drivers\etc\hosts >> 192.168.100.10  wiki.rw1.local 

我嘗試過用它直接在CMD,並在CMD oppened爲管理員和沒有工作

+1

你的目的是什麼?您是否想編輯hosts文件並在其中添加一些行並將其保存爲批處理文件? – Hackoo

+0

你可以發佈你試過自己編寫的批處理文件嗎? – 2017-06-19 13:09:35

+0

你有什麼試過的,你試過的怎麼都失敗了?理想情況下,您應該提供您嘗試過的[最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve),幷包含有關失敗的具體信息,包含錯誤消息和/或錯誤的輸出。 SO不是代碼寫入服務;最好的問題是提供有用信息的問題,以便那些回答問題的人可以指導你設計自己的正確答案。參見[如何提出一個好問題](https://stackoverflow.com/help/how-to-ask)。 –

回答

1

你可以給一個嘗試這個批處理文件:

@echo off 
Color 9A & Mode con cols=83 lines=5 
Title %~n0 Add some lines on hosts files 
::::::::::::::::::::::::::::::::::::::::: 
:: Automatically check & get admin rights 
::::::::::::::::::::::::::::::::::::::::: 
REM --> Check for permissions 
Reg query "HKU\S-1-5-19\Environment" >nul 2>&1 
REM --> If error flag set, we do not have admin. 
if '%errorlevel%' NEQ '0' (
Echo. 
ECHO      ************************************** 
ECHO      Running Admin shell... Please wait... 
ECHO      ************************************** 

    goto UACPrompt 
) else (goto gotAdmin) 

:UACPrompt 
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" 
    set params = %*:"="" 
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs" 

    "%temp%\getadmin.vbs" 
    del "%temp%\getadmin.vbs" 
    exit /B 

:gotAdmin 
:::::::::::::::::::::::::::: 
::START 
:::::::::::::::::::::::::::: 

set "hostspath=%windir%\System32\drivers\etc\hosts" 

FIND /C /I "dev.rw1.local" "%hostspath%" >nul 
FIND /C /I "wiki.rw1.local" "%hostspath%" >nul 


IF "%ERRORLEVEL%" NEQ "0" (
    Attrib -R %hostspath% 
    (
     echo(
     echo ############################################### 
     echo # Lines added by "%username%" # 
     echo 192.168.100.9  dev.rw1.local 
     echo 192.168.100.10  wiki.rw1.local 
     echo ############################################### 
    )>> "%hostspath%" 
) 

Attrib +R "%hostspath%" 
+0

通常,變量名和值之間不應有空格。也許這在這裏起作用,但是它應該是這樣嗎? 'set params =%*:「=」「' – lit

+0

它的工作。非常感謝 –

相關問題