相关疑难解决方法(0)

如何使用'findstr'匹配IP地址?或者Windows中任何其他批处理方法

    正如标题所说,我想在Windows中将ip地址与批处理匹配,请告诉我如何做到这一点?
    我看到" findstr "可以匹配像" [0-9] " 这样的正则表达式,但是"findstr"如何匹配它会出现一到三次

windows ip batch-file ip-address findstr

3
推荐指数
1
解决办法
1万
查看次数

Windows批处理文件中的grep

我正在尝试编写一个 Windows 批处理文件,它将查看一个特定的 html 索引文件,它看起来像这样(简化)

<a href=emergency.htm>Emergency Calls</a><br>
<a href=EmeRgency.htm>Emergency Calls</a><br>
<a href=Emergency.htm>Emergency Calls</a><br>
<a href=EMERGENCY.htm>Emergency Calls</a><br>
<a href=E911.htm>Emergency Calls</a><br>
<a href=e911.htm>Emergency Calls</a><br>
Run Code Online (Sandbox Code Playgroud)

并打印文件名包含任何大写字母的所有链接,以便可以更正它们以不包含任何大写字母。

以下在 unix 中工作:

$ grep -v '^<a href=[^A-Z]*\.htm' helpindex.htm
<a href=EmeRgency.htm>Emergency Calls</a><br>
<a href=Emergency.htm>Emergency Calls</a><br>
<a href=EMERGENCY.htm>Emergency Calls</a><br>
<a href=E911.htm>Emergency Calls</a><br>
Run Code Online (Sandbox Code Playgroud)

( -v 反转匹配)

但是在 Windows 下使用 UnxUtils grep,它是 unix grep 的直接端口,我想不出一种引用有效正则表达式的方法。这对于在批处理文件中使用它是必要的。我试过 ', " 没有任何乐趣,还有 -E 开关。有没有办法使用这个特定的工具集来做到这一点?

@janos 引导我使用 Windows 中的 findstr 命令,但它仍然不起作用。查看 findstr 帮助我看到:

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] …

windows grep batch-file findstr

2
推荐指数
1
解决办法
5万
查看次数

如何让 findstr 内联显示完整的文件路径?

当我使用时,grep我会得到一个匹配结果列表,其中包含所有子目录的完整文件路径。

当我这样做时findstr- 我没有得到内联结果。

我的问题是:如何findstr内联显示完整的文件路径?

command-line grep dos path findstr

2
推荐指数
1
解决办法
3794
查看次数

批量使用colorEcho无法使ä,ç或ã正确打印

因此,我想以黄色打印Jäger炸弹和mação,其余部分为标准白色。我的代码是:

SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do     rem"') do (
  set "DEL=%%a"
)

call :colorEcho 0e "Jäger bomb"
echo Jäger bomb
call :colorEcho 0e "maçã"
echo maçã
pause

exit
:colorEcho
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i
Run Code Online (Sandbox Code Playgroud)

问题是,当输出时,输出为“ J,,ger”,并显示错误消息“ FINDSTR: Cannot open maøa”。但是使用标准的echo命令都可以正常打印。是什么原因造成的,我该如何解决?任何帮助深表感谢!

colors batch-file call

2
推荐指数
1
解决办法
236
查看次数

检查目录或文件名的绝对路径是否有效

我正在创建一个bat脚本,我应该检查变量是否包含目录的有效绝对路径,以及另一个变量是否包含Windows 8及更高版本的文件的有效名称.

那么,我该如何进行这些检查呢?

谢谢

再见

validation filenames batch-file absolute-path

1
推荐指数
1
解决办法
1463
查看次数

格式为 xxxx.xxxx.xxxx 的 MAC 的批量正则表达式

我一直在尝试解析格式为“xxxx[Delimiter]xxxx[Delimiter]xxxx”的mac,其中“x”在[0-9,AF,af]中,“[Delimiter]”在[:,.,- ]。我已尝试以下代码,并引用标题为Regex 的示例来匹配批处理脚本中的变量以及什么是 MAC 地址的正则表达式?

set MACAddr=012a.23fa.5ffc
If [%MACAddr%] EQU [] (
echo MAC Address is not set. Please set it to proceed.
) else (
echo %MACAddr%|findstr /r "^([0-9A-Fa-f]{2}[:.-]?){5}([0-9A-Fa-f]{2})$"
if errorlevel 1 (echo Mac %MACAddr% is not of same Format as xxxx.xxxx.xxxx) else ( pause )
)
Run Code Online (Sandbox Code Playgroud)

也尝试过这个

echo %MACAddr%|findstr /r "^([0-9A-Fa-f]{4})([:.-])([0-9A-Fa-f]{4})([:.-])([0-9A-Fa-f]{4})$"
Run Code Online (Sandbox Code Playgroud)

但它只能运行if errorlevel 1 (echo Mac %MACAddr% is not of same Format as xxxx.xxxx.xxxx)。请告诉我我做错了什么。

windows cmd batch-file findstr

1
推荐指数
1
解决办法
1510
查看次数

在批处理脚本中比较两个文件

我试图以这种方式比较两个文件,文件1的每一行将与文件2的每一行进行比较,如果没有找到匹配,则将该行写入单独的文件.

下面是我写的代码,但它没有按预期工作,

@echo on
cd path
for /f %%a in (file1.txt) do (
for /f %%b in (file2.txt) do (
if %%a==%%b
(
echo lines are same
) else (
echo %%a >> file3.txt
)
)
)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说,命令的语法不正确.请帮我解决一下这个.

batch-file file-comparison

0
推荐指数
1
解决办法
1万
查看次数