这是conf文件的内容
使用chroot = false
strict modes = false
主机允许= *
log file = rsyncd.log
我需要在开头
中添加这两行uid = 0的
GID = 0
以及最后的其他行
[数据]
path = / cygdrive / d /我的文件
只读= false
transfer logging = yes
[邮件]
path = / cygdrive / d / mail
只读= false
transfer logging = yes
随着蝙蝠的完成,我将通过我的网络上的政策进行部署。
我真的很新,但我感谢你的帮助。为我的英语道歉。
我尝试使用此代码:
@echo off
Color 9A & Mode con cols=83 lines=5
Title %~n0 Adding lines to rsyncd.conf
:::::::::::::::::::::::::::::::::::::::::
:: 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=C:\Program Files (x86)\ICW\rsyncd.conf"
FIND /C /I "uid=0" "%hostspath%" >nul
FIND /C /I "gid=0" "%hostspath%" >nul
FIND /C /I "[data]" "%hostspath%" >nul
FIND /C /I "path = /cygdrive/d/My documents" "%hostspath%" >nul
FIND /C /I "read only = false" "%hostspath%" >nul
FIND /C /I "transfer logging = yes" "%hostspath%" >nul
FIND /C /I "[mail]" "%hostspath%" >nul
FIND /C /I "path = /cygdrive/d/mail" "%hostspath%" >nul
FIND /C /I "read only = false" "%hostspath%" >nul
FIND /C /I "transfer logging = yes" "%hostspath%" >nul
)
Attrib +R "%hostspath%"
答案 0 :(得分:0)
您可以使用View on JSFiddle获取管理员权限。只需使用此脚本将脚本复制到批处理文件的末尾:
{{1}}
答案 1 :(得分:0)
所有find
命令都无效 - 他们只是检查字符串是否在文件中,如果找到则将errorlevel
设置为0,否则设置为非0 - 但是已经完成{{ 1}}你对结果一无所知。
find
首先,检查文件中是否有::::::::::::::::::::::::::::
::START
::::::::::::::::::::::::::::
set "hostspath=C:\Program Files (x86)\ICW\rsyncd.conf"
FIND /C /I "uid=0" "%hostspath%" >nul
if not errorlevel 1 goto :eof
Attrib -R "%hostspath%"
(for %%a in ("gid=0" "uid=0") do echo %%~a)>tempfile.txt
type "%hostspath%" >>tempfile.txt
(for %%a in ("[data]"
"uid=0"
"path = /cygdrive/d/My documents"
"read only = false"
"transfer logging = yes"
"[mail]"
"path = /cygdrive/d/mail"
"read only = false"
"transfer logging = yes"
) do echo %%~a
)>>tempfile.txt
move /y tempfile.txt "%hostspath%"
Attrib +R "%hostspath%"
。如果是,则假设作业已经完成并退出。
从uid=0
文件
.conf
命令会在引号"中分配"值。依次为for
,然后%%a
每个值(echo
删除封闭的引号)。封闭~
命令的(
和)
允许将输出重定向到我命名为for
的文件。
然后将现有tempfile.txt
文件的内容键入tempfile
然后输出剩余的行,但这次重定向器.conf
要附加到>>
然后将tempfile.txt
移到tempfile.txt
文件上并将其标记为只读。