Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 交换文本文件中的部分字符串_Windows_Batch File_Cmd - Fatal编程技术网

Windows 交换文本文件中的部分字符串

Windows 交换文本文件中的部分字符串,windows,batch-file,cmd,Windows,Batch File,Cmd,是否有一种方法可以在一个普通的.txt文件中传输字符 我在.txt文件中有很多条目,它们都是以下格式: 1=示例, 2=示例2, 3=例3。。。 我需要的是将=传输到字符串右侧的批处理文件。看起来是这样的: switch.cmd >output.txt 示例=1, 例2=2。。。 有没有可能用.bat文件来实现这一点?类似的方法应该可以: @echo off pushd "C:\some\where" for /f "tokens=1,2 delims==" %%a in (input

是否有一种方法可以在一个普通的.txt文件中传输字符

我在.txt文件中有很多条目,它们都是以下格式:

1=示例, 2=示例2, 3=例3。。。 我需要的是将=传输到字符串右侧的批处理文件。看起来是这样的:

switch.cmd >output.txt
示例=1, 例2=2。。。
有没有可能用.bat文件来实现这一点?

类似的方法应该可以:

@echo off

pushd "C:\some\where"
for /f "tokens=1,2 delims==" %%a in (input.txt) do echo %%b = %%a
popd
或者使用此选项来消除空白:

@echo off

setlocal EnableDelayedExpansion

pushd "C:\some\where"
for /f "tokens=1,2 delims==" %%a in (input.txt) do (
  set "key=%%a"
  set "val=%%b"
  echo !val: =! = !key: =!
)
popd
要将输出保存到文件,请按如下方式调用任一脚本:

switch.cmd >output.txt

像这样的方法应该会奏效:

@echo off

pushd "C:\some\where"
for /f "tokens=1,2 delims==" %%a in (input.txt) do echo %%b = %%a
popd
或者使用此选项来消除空白:

@echo off

setlocal EnableDelayedExpansion

pushd "C:\some\where"
for /f "tokens=1,2 delims==" %%a in (input.txt) do (
  set "key=%%a"
  set "val=%%b"
  echo !val: =! = !key: =!
)
popd
要将输出保存到文件,请按如下方式调用任一脚本:

switch.cmd >output.txt

这将处理多个单词,你有例子


这将处理多个单词,你有例子

如果您可以使用GNU:

如果您可以使用GNU:


我尝试了你的两种代码,但不幸的是没有任何效果。它遍历了my.txt文件,没有做任何更改。脚本只是将转换后的行回显到控制台。如果你想把输出放在一个文件中,重定向它,看看更新的答案。我已经修改了你的第一个代码,所以它会立即输出@echo off setlocal EnableDelayedExpansion pushd C:\Users\Hobbilis\Desktop for/f tokens=1,2 delims==%%a in input.txt do set key=%%a set val=%%b echo!瓦尔:=!=!键:=!>>output.txt popdI尝试了这两个代码,但不幸的是没有任何效果。它遍历了my.txt文件,没有做任何更改。脚本只是将转换后的行回显到控制台。如果你想把输出放在一个文件中,重定向它,看看更新的答案。我已经修改了你的第一个代码,所以它会立即输出@echo off setlocal EnableDelayedExpansion pushd C:\Users\Hobbilis\Desktop for/f tokens=1,2 delims==%%a in input.txt do set key=%%a set val=%%b echo!瓦尔:=!=!键:=!>>output.txt popdI还尝试在我制作的测试文件中使用它。我在里面放了1=Example并在上面运行了批处理,什么都没发生。@hobilis现在就试试吧-它只在前面打印到屏幕上。现在它写入一个output.txt文件。太棒了,它现在可以工作了。谢谢,你帮我节省了很多时间我还试着在我制作的测试文件中使用它。我在里面放了1=Example并在上面运行了批处理,什么都没发生。@hobilis现在就试试吧-它只在前面打印到屏幕上。现在它写入一个output.txt文件。太棒了,它现在可以工作了。谢谢,你帮我节省了很多时间