batch-file 相关问题

批处理文件是一个文本文件,其中包含由MS-DOS,IBM OS / 2或Microsoft Windows系统上的命令解释程序执行的一系列命令。

批处理文件应替换多个文件中的字符串

我是批处理新手,所以我尝试阅读一些解决方案,但它对我不起作用。 我需要循环一些文件并搜索字符串 并将其替换为 我是批处理新手,所以我尝试阅读一些解决方案,但它对我不起作用。 我需要循环一些文件并搜索字符串 <IDOC BEGIN='1'> 并将其替换为 <IDOC BEGIN="1">。 首先,我为文件路径定义了一些变量,并使用它打开 for 循环来获取我的文件。奇迹般有效。现在我需要获取 Filecontent 并替换特定字符串并将更改内容保存到该文件。 这是我的实际批处理代码: @echo off setlocal enableDelayedExpansion set "SEARCHSTRING=<IDOC BEGIN='1'>" set "REPLACESTRING=<IDOC BEGIN="1">" if "%1" == "TP" goto VARS_TP if "%1" == "JP" goto VARS_JP goto ENDE :VARS_TP set DIVISION= goto WEITER :VARS_JP set DIVISION=JP :WEITER set "VOLUME=D:" set "SCRIPTDIR=%VOLUME%\Skript" set "EDIDIR=%VOLUME%\Test%DIVISION%" set "IN=%EDIDIR%\IN" set "REORG=%EDIDIR%\REORG" for %%i in (%IN%\ORDRSP*.xml) do @( echo %%i rem findstr /C:"%SEARCHSTRING%" /F:%%i for /f "tokens=*" %%j in ('type %%i') do ( echo %%j ) ) :ENDE endlocal && goto :eof 未调用 echo %%j,因此我无法调试它。 我的第一反应是使用免费软件实用程序,如 sed、awk 或 gawk 来解决这个问题。 使用批处理希望能够用另一个字符串替换任何常规字符串是一个雷区。 也许可以用另一种方式解决问题,例如: FOR /f "usebackqdelims=" %%e IN ("%filename1%") DO ( ECHO %%e|FINDSTR /i /L /c:"%SEARCHSTRING%" >NUL IF ERRORLEVEL 1 (ECHO/%%e) ELSE ( SET "line=%%e" ECHO !line:'="! ) ) 应该适用于当前明显的目标,在包含 ' 的行上将 " 替换为 searchstring。这种方法对 OP 的情况有多适用是 OP 关心的问题。

回答 1 投票 0

批处理文件;列出目录中的文件,仅显示文件名?

这可能是一个非常简单的问题,但我遇到了麻烦。 我正在尝试编写一个批处理文件,我需要它来列出某个目录中的所有文件。 dir 命令将执行此操作,...

回答 9 投票 0

从存储在变量中的字符串中获取元素数量,其中之间有分隔符

我想从存储在变量中的字符串中获取元素的数量,变量之间有分隔符。 注意:我有 mystring 变量,它具有特定的格式,我需要保持原样。 @回声...

回答 1 投票 0

vbs中如何传递包含空格的参数

我有一个批处理脚本: 测试.bat echo 第一个参数是 %1 暂停 我想从具有管理员权限的 vbscript 调用,如下所示: 测试.vbs 设置 UAC = CreateObject("Shell.Application") UAC。

回答 2 投票 0

MS Batch,按 Excel 或 CSV 列表中的模式重命名文件

我的文件名称如下: foo_baar_AB_01.ending fOo_BaAr_BC_05.ending FOo_baaR_BA_15.ending 以及带有重命名文件规则集的 Excel 或 CSV 列表: AB;数据 公元前;东西 文学学士;其他 我...

回答 3 投票 0

批处理文件:如何替换“=”(等号)和字符串变量?

除了SED之外,等号还能怎样替换呢? 如何在字符串替换中使用字符串变量? 考虑这个例子: 对于 /F "tokens=*" %%B IN (test.txt) DO ( 设置本地

回答 7 投票 0

我做了一个批处理文件等待,但我不知道如何使倒计时隐藏在cmd中。谁能告诉我如何隐藏倒计时?

我做了一个倒计时的批处理文件,但是我忘记了如何隐藏它,在google上也找不到明确的答案。 :(谁能告诉我如何隐藏倒计时?我还使用了命令 timeout /t ...

回答 1 投票 0

Firestore-导出.bat文件获取.json文件卡住

我每天安排一个 .bat 文件运行一些命令,通过我从项目设置中获取的 key.json 文件从我的 Firestore 数据库获取 .json 文件,它通常运行良好,但是...

回答 1 投票 0

如何运行多个快捷方式(有延迟)

我正在编写一个 .bat 文件来运行多个快捷方式,但它们必须彼此交错大约 10-15 秒,无论出于何种原因,有时这个脚本无法工作,即使没有触及它......

回答 1 投票 0

taskkill 无法杀死 Nodejs 任务

我试图用taskkill /F /pid通过pid杀死一个nodejs任务。虽然标准输出显示任务终止成功,但窗口仍在运行。还有其他“修复”命令吗?

回答 2 投票 0

如何在批处理文件中绘制像素?

我想在.bat文件中执行一些命令来绘制一个像素,如下所示: 。 如果您注意该图像,当我执行命令“draw”时,它会向我显示一个像素。 我想做一批

回答 1 投票 0

GnuWin32 sed 用于将 CRLF 替换为“;”来自 WIndows 批处理文件

我的输入带有 CRLF 行结尾: 1019 1020 1028 1021 我想使用 Windows 10 批处理脚本(不是 Powershell)从 Gnuwin32 中使用 sed(或 awk)删除每行末尾的 CRLF。 我想要...

回答 3 投票 0

执行后如何保持控制台窗口打开?

这是一个有点复杂的问题。我可能已经尝试了一切,但仍然没有工作。我从运行 CMD 运行 WinForm 应用程序,然后在 cmd 上运行另一个应用程序(控制台应用程序)。这是...

回答 3 投票 0

如何使用 start 命令打开包含 & 符号的 URL?

我已经知道要使用您使用的默认浏览器打开网页: 启动 www.google.com。但是,我正在尝试打开一个包含“&”的 URL,例如: https://www.google.dz/?gws...

回答 9 投票 0

如何用“;”替换文本文件的所有CRLF带有可以使用GNU工具的W10 cmd批处理文件?

我的输入带有 CRLF 行结尾: 1019 1020 1028 1021 我想使用 Windows 10 批处理脚本(不是 Powershell)从 Gnuwin32 中使用 sed(或 awk)删除每行末尾的 CRLF。 我想要...

回答 3 投票 0

如何将文本文件的所有 CRLF 替换为 ;带有可以使用 Sed、Awk (Gnuwin32) 的 W10 cmd 批处理文件

我想用Windows 10下的Gnuwin32中的sed(或我不太了解的awk)删除每行末尾的CRLF。 我有这个输入(Dos 格式,因此在行尾有 CRLF): 1019 我想在Windows 10下使用Gnuwin32中的sed(或我不太了解的awk)删除每行末尾的CRLF。 我有这个输入(Dos 格式,因此在行尾有 CRLF): 1019<CR><LF> 1020<CR><LF> 1028<CR><LF> 1021<CR><LF> 并且,使用可以使用“W10批处理”或“sed”或“awk”(但不能使用Powershell)的W10 cmd批处理脚本,我想在文本文件中获得以下结果: 1019;1020;1028;1021 结果必须如上:在 1 行上,以半列作为分隔符,并且末尾没有任何半列。 尽管我在这个网站上读过类似的帖子,但我不知道如何做到这一点,因为我总是得到结果 它不适用于批处理文件中的以下几行(似乎有一个带有 GNUwin32 Sed 的 pb 在每个处理行的末尾添加新内容): REM This to generate the input example : (echo 1019& echo 1020& echo 1028& echo 1021) > test_in.txt REM This is the first try for getting the desired 1-line output with semicolumn : (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\sed -e "s/\r\n/;/" > test_out.txt REM This is the second try for getting the desired 1-line output with semicolumn : REM (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\sed -b -e "s/\x0d\x0a/;/g" > test_out.txt REM This is the third try for getting the desired 1-line output with semicolumn : REM (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\awk "{gsub(\"\\\\r\\\\n\",\";\")};1" > test_out.txt REM This is the fourth try for getting the desired 1-line output with semicolumn : REM (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\awk -v FS="\r\n" -v OFS=";" -v RS="\\$\\$\\$\\$" -v ORS="\r\n" "{$1=$1}1" > test_out.txt 在 Unix 中使用 GNU awk 会是: awk ' BEGIN { RS="\r\n" } { printf "%s%s", (NR>1 ? ";" : ""), $0 } ' file 你如何在 Windows 中调用它,我不知道,但我希望你知道或者可以通过 google 搜索它,因为你正在使用该环境。

回答 1 投票 0

使用 lcov.perl 文件生成覆盖率报告时遇到问题

我正在尝试使用项目中的 lcov.perl 文件生成覆盖率报告。我将所有必需的 lcov.perl、geninfo.perl、genhtml.perl 和 repl.bat 文件存储在一个文件夹中。在我的...

回答 0 投票 0

Windows 批处理脚本(使用多个分隔符分割字符串)

我有一个属性文件(test.properties),其中有一个保存多个字符串的变量。 例如:var=str1;str2;str3;..... 我需要在我的批处理文件(abc.bat)中使用上述属性文件,所以...

回答 2 投票 0

防止批处理文件在调用第三方 CLI 命令后提前终止

我正在尝试使用批处理文件调用第三方 CLI(ArcGIS Enterprise 自定义数据源)来自动创建一些样板代码。但是,一旦调用第一个 CLI 命令...

回答 1 投票 0

防止 dos 批处理文件在调用第三方 CLI 命令后提前终止

我正在尝试使用批处理文件调用第三方 CLI(ArcGIS Enterprise 自定义数据源)来自动创建一些样板代码。然而,一旦调用第一个 CLI 命令 (...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.