2016-08-23 18 views
0

ウィンドウ上で動作していない:自動起動/シャットダウンsriptsは、私がa.batで簡単なスクリプトを持っている10打席

@echo off 

echo Date: %date% >> C:\Users\Anon\Desktop\start.txt 
私は、システムの起動時に実行したい

、と私はしたいとファイルのコピーシステムシャットダウン時に実行されます。 これらのファイルをgpedit.msc-> scripts-> autostart/shutdownに追加しましたが、それらは機能しません。 なぜですか?どのように私はそれを動作させることができますか?

+0

これらのスクリプトはどこで編集しましたか?右側のセクションはWindowsの設定>スクリプト>シャットダウン/スタートアップです – Steven

+0

gpedit.msc-> start/shutdownに追加しました – user6746473

+0

'windows settings/scripts'が見つかりません – user6746473

答えて

0

私のコメントに記載されているように、gpedit.mscを入力し、Windowsの設定>スクリプト>スタートアップ/シャットダウンに移動します。

私が現在いる場所を理解するために写真をチェックしてください。 Scripts - gpedit.msc

+0

これは私が仲間にしたものです。スタートアップとシャットダウンにスクリプトを追加しましたが、何も動作していないようです – user6746473

1

より複雑であるが、純粋なバッチソリューション(Windows 8の中でここで働く)

あなたはyour_name.batファイルとして保存いくつかのデフォルト値

@echo off 

rem get arguments: these will be flushed to log file 
set "action=%*" 

rem log file name 
set "logFile=%~dpn0.log" 

rem check for delete keyword. 
if /i "%~1" EQU "delete" (
    call:deleteScripts && exit/B 0 || (echo/ Scripts deleted: Failed & exit/B 1) 
) else (
    call:testScripts || (echo/ Scripts created: Failed & exit/B 1) 
) 

rem language independent time 
for /f "tokens=2 delims==" %%a in ('wmic os get localdatetime /value') do set "Tm=%%a" 

set "timeStamp=%Tm:~0,4%-%Tm:~4,2%-%Tm:~6,2% %Tm:~8,2%:%Tm:~10,2%:%Tm:~12,2%" 

if not exist "%logFile%" (
    (
    echo/---------------------------------------------------------------------------- 
    echo/---------------------------------------------------------------------------- 
    echo/ 
    echo/Log registry [%~dpnx0] 
    echo/ 
) 
)>>"%logFile%" 

echo(%timeStamp% %action%>>"%logFile%" 

exit/B 

rem delete registry keys. 
:deleteScripts 
set "baseKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts" 
set "machKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts" 
reg delete "%baseKey%\Startup\0" /F >NUL 2>&1 
reg delete "%machKey%\Startup\0" /F >NUL 2>&1 
reg delete "%baseKey%\Shutdown\0" /F >NUL 2>&1 
reg delete "%machKey%\Shutdown\0" /F >NUL 2>&1 
echo/ Scripts deleted: Success 
exit/B 0 

rem check registry keys. if they don't exist create them 
:testScripts 
set/a msg=0 
set "baseKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts" 
set "machKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts" 
reg query "%baseKey%\Startup\0">NUL 2>&1 || (call:createScript "Startup" || exit/B 1) 
reg query "%machKey%\Startup\0">NUL 2>&1 || (call:createScript "Startup" || exit/B 1) 
reg query "%baseKey%\Shutdown\0">NUL 2>&1 || (call:createScript "Shutdown" || exit/B 1) 
reg query "%machKey%\Shutdown\0">NUL 2>&1 || (call:createScript "Shutdown" || exit/B 1) 
if %msg% equ 1 echo/ Scripts created: Success 
exit/B 0 

:createScript 
set/a msg=1 
setlocal 
set "scriptKey=%~1" 
set "logMessage=Computer %%COMPUTERNAME%% [%~1]" 

rem needed for creating registry keys 
set "scriptName=%~dpnx0" 

rem English users 
set "GP_Name=Local group policy" & rem set "GP_Name=Local Computer policy" 
rem Spanish users 
rem set "GP_Name=Directiva de grupo local" & rem set "GP_Name=Directiva Equipo local" 

reg add "%baseKey%\%scriptKey%\0" /V "GPO-ID" /T REG_SZ /D "LocalGPO" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0" /V "SOM-ID" /T REG_SZ /D "Local" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0" /V "FileSysPath" /T REG_SZ /D "C:\\Windows\\System32\\GroupPolicy\\Machine" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0" /V "DisplayName" /T REG_SZ /D "%GP_Name%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0" /V "GPOName" /T REG_SZ /D "%GP_Name%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0" /V "PSScriptOrder" /T REG_DWORD /D "00000001" /F >NUL 2>&1 || (EndLocal & exit/B 1) 

reg add "%baseKey%\%scriptKey%\0\0" /V "Script" /T REG_SZ /D "%scriptName:\=\\%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0\0" /V "Parameters" /T REG_SZ /D "%logMessage%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0\0" /V "IsPowershell" /T REG_DWORD /D "00000000" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%baseKey%\%scriptKey%\0\0" /V "ExecTime" /T REG_BINARY /D "00000000000000000000000000000000" /F >NUL 2>&1 || (EndLocal & exit/B 1) 

reg add "%machKey%\%scriptKey%\0" /V "GPO-ID" /T REG_SZ /D "LocalGPO" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0" /V "SOM-ID" /T REG_SZ /D "Local" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0" /V "FileSysPath" /T REG_SZ /D "C:\\Windows\\System32\\GroupPolicy\\Machine" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0" /V "DisplayName" /T REG_SZ /D "%GP_Name%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0" /V "GPOName" /T REG_SZ /D "%GP_Name%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0" /V "PSScriptOrder" /T REG_DWORD /D "00000001" /F >NUL 2>&1 || (EndLocal & exit/B 1) 

reg add "%machKey%\%scriptKey%\0\0" /V "Script" /T REG_SZ /D "%scriptName:\=\\%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0\0" /V "Parameters" /T REG_SZ /D "%logMessage%" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0\0" /V "ErrorCode" /T REG_DWORD /D "00000000" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
reg add "%machKey%\%scriptKey%\0\0" /V "ExecTime" /T REG_BINARY /D "00000000000000000000000000000000" /F >NUL 2>&1 || (EndLocal & exit/B 1) 
EndLocal 
exit/B 0 

を編集して、一度に実行する必要があるかもしれません引数なし。 Local policy groupstarting and shutting down scriptsが作成されます。 your_name.bat deleteを実行してスクリプトを削除することができます。

スクリプトの開始および/またはシャットダウンが既に設定されている場合は、それらが上書きされる可能性があることに注意してください。

あなたはgpedit.mscを開くことができるなら、これはあなたがセットアップスクリプトを持っていたら、あなたはので、すべてif /i "%~1 ...セクションを削除し、all the subroutinesでき

あなたのケースではありませんexecute registry operationsが、 に管理者権限が必要スクリプトは簡単です。

関連する問題