Batch file 修改了“批量查找、替换和使用”选项卡

Batch file 修改了“批量查找、替换和使用”选项卡,batch-file,Batch File,我想改变一些事情 我在这里找到并替换了: 我想用表格代替逗号。但我对%1%2%3的替换是错误的 @echo off SETLOCAL ENABLEEXTENSIONS SETLOCAL DISABLEDELAYEDEXPANSION @echo off set OldStr=, @echo off set NewStr=\t @echo off set FilePath=%UserProfile%\Desktop\information.csv if "%OldStr%"=="" finds

我想改变一些事情

我在这里找到并替换了:

我想用表格代替逗号。但我对%1%2%3的替换是错误的

@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION

@echo off set OldStr=,
@echo off set NewStr=\t
@echo off set FilePath=%UserProfile%\Desktop\information.csv

if "%OldStr%"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %FilePath%|find /n /v """') do (
    set "line=%%B"
    if defined line (
        call set "line=echo.%%line:%OldStr%=%NewStr%"
        for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
    ) ELSE echo.
)
我不确定机器是否正常工作

我试图更改命令,因为我需要一个批处理文件来完成所有我想要的操作


原创的

@echo off
REM -- Prepare the Command Processor --
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION

::BatchSubstitude - parses a File line by line and replaces a substring"
::syntax: BatchSubstitude.bat OldStr NewStr File
::          OldStr [in] - string to be replaced
::          NewStr [in] - string to replace with
::          File   [in] - file to be parsed
:$changed 20100115
:$source http://www.dostips.com
if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
    set "line=%%B"
    if defined line (
        call set "line=echo.%%line:%~1=%~2%%"
        for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
    ) ELSE echo.
)
我想在我自己的批处理文件中使用此脚本。所以我需要通过变量来更改参数。

更改,在\t中

@echo off

REM -- Prepare the Command Processor --
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION

if /I "%~1"=="/h" goto:help
if "%UserProfile%\Desktop\%ComputerName%.csv"=="" goto:help

if ","=="" findstr "^::" "%~f0"&goto:help
for /f "tokens=1,* delims=]" %%A in ('"type %UserProfile%\Desktop\%ComputerName%.csv|find /n /v """') do (
    set "line=%%B"
    if defined line (
        call set "line=echo.%%line:,=   %%"
        for /f "delims=" %%X in ('"echo."%%line%%""')  do %%~X >> %UserProfile%\Desktop\%ComputerName%.csv_new
    ) ELSE echo.
)
move /Y %UserProfile%\Desktop\%ComputerName%.csv_new %UserProfile%\Desktop\%ComputerName%.csv >nul

我可以看出您的代码中有许多潜在的错误区域。您应该开始一行一行地理解代码在做什么,检查这是否是您想要做的,然后再提出更具体的问题。我们很乐意帮助你。我编辑我的帖子。我是一批乞丐,我能从全球范围内理解它做了些什么,但为什么~那里有这么多%。我这样问是因为有些人已经知道如何进行更改?