2017-01-26 1 views
1
@echo off 
title IPBlocker 
:MAIN 
color A 
echo ==================================== 
echo Hello, his tool will help to block an IP from accessing you. 
set /p localip= What's your local IP [Default: 192.168.1.1]: 
set /p user= Enter your router's username [root by default]: 
set /p password= Enter your router's password: 
set /p IP= Which IP do you want to block: 
echo ==================================== 
echo printf \n%IP% >> /etc/config/blacklistips; /etc/init.d/firewall restart> blockedips.txt 

echo The IP has been succesfully blocked and your router's firewall restarted. 
pause 

안녕하세요,이 일괄 처리를 만들려고 노력하고 있습니다.하지만 실행하면 어딘가에 문제가 발생합니다.일괄 처리가 제대로 저장되지 않음

blockedips.txt에서 "printf \ n % IP % >>/etc/config/blacklistips /etc/init.d/firewall restart"를 저장해야하지만 "printf \ n;/etc/init.d/방화벽 다시 시작 ". 그래서이 ">>/etc/config/blacklistips"는 어떤 이유로 파일에 포함되지 않습니다. 그리고 제 질문은 그 이유입니다.

사용자, 암호 및 localip은 나중에 다른 곳에서 퍼티와 연결되어 사용됩니다 (완전한 스크립트인지 아닌지, 그래도 저장하지 않습니다). 주요 문제는 텍스트 파일에 필요한 정보를 저장하지 않는다는 것입니다.

답변

3
는 다음과 같이 캐럿 기호를 사용하여 그들을 탈출

:

^>^> 

이유는 이스케이프해야합니다 있도록이 일괄 처리의 특수 문자는 것입니다.
이제 기호는 리터럴 문자로 처리됩니다.

+0

당신은 생명의 은인입니다. 대단히 감사합니다. 이제는 잘 작동합니다. – user3586962

+0

@ user3586962 옆에있는 회색 체크 표시를 클릭하여 문제의 해결 방법으로 답변을 수락 할 수 있습니다. 이것은 시스템을 깨끗하게 유지하는 데 도움을 줄뿐만 아니라 보상을 제공합니다. :) – geisterfurz007

관련 문제