有沒有辦法在普通的.txt文件中傳輸字符。在文本文件中交換字符串的部分
我有很多在.txt文件的條目和它們都是以這種格式:
- 1 =實施例,
- 2 =例2,
- 3 = ...示例3
我需要的是一個批處理文件傳輸「#=」字符串的右側。所以它看起來像這樣:
- 示例= 1,
- 例2 = 2 ...
是否有可能與.bat文件?
有沒有辦法在普通的.txt文件中傳輸字符。在文本文件中交換字符串的部分
我有很多在.txt文件的條目和它們都是以這種格式:
我需要的是一個批處理文件傳輸「#=」字符串的右側。所以它看起來像這樣:
是否有可能與.bat文件?
這將處理超過一個字,你必須Example...
@echo off
for /f "tokens=1,* delims== " %%a in (input.txt) do >>output.txt echo %%b = %%a
像這樣的東西應該工作:
@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
我都嘗試你的代碼,可惜沒有奏效。它通過我的.txt文件並沒有改變任何東西。 – hobbilis
腳本只是將轉換後的行回顯到控制檯。如果你想在文件中輸出,重定向它(見更新的答案)。 –
我已經修改了你的第一個代碼,所以它立即輸出。 '@迴響 SETLOCAL EnableDelayedExpansion PUSHD 「C:\用戶\ Hobbilis \桌面」 FOR/F 「令牌= 1,2 delims ==」 %%一箇中(input.txt中)做( 集「key = %% a」 set「val = %% b」 echo!val:=!=!key:=!>> output.txt ) popd' – hobbilis
我試過了,但沒有改變任何東西。 – hobbilis
我也嘗試在我製作的測試文件上使用它。裏面我已經把「1 = Example」並且在其上運行了批處理,沒有任何事情發生。 – hobbilis
@ hobbilis現在就試試吧 - 它只能打印到屏幕上。現在它寫入output.txt文件。 – foxidrive