用于解析 csv 文件并输出到搜索窗口目录的脚本



我正在编写一个脚本来满足以下条件:

  1. 我有一个包含 2 列的 csv 文件,我需要逐行读取文件并仅从第二列中获取值,假设值是 test1、test2 等。
  2. 获得值后,我想搜索一个 windows 目录作为test1.log 等。
  3. 如果我在搜索过程中与任何条目匹配,我想将该项目复制到另一个窗口目录。

我有输入文件,搜索目录是恒定的,文件名格式是恒定的。

我使用了以下脚本:

@ECHO OFF
FOR /f "tokens=2 delims=," %%b IN (test.txt) DO^
( dir *%b%*.log IN "D:test" if
(*%b%*.log = "" echo "file not found" )
Else DO xcopy "D:test"*%b%*.log C:dest )

但是,我无法运行代码。 请帮忙。

下面是一个可以帮助您的示例:

@Echo Off
Set "InFile=test.txt"
Set "ChkDir=D:test"
Set "SavDir=C:dest"
If Not Exist "%ChkDir%" GoTo :EOF
If /I Not "%CD%"=="%SavDir%" (CD /D "%SavDir%" 2>Nul||GoTo :EOF)
For /F "UseBackQ Tokens=2 Delims=," %%A In ("%InFile%"
) Do If Exist "%ChkDir%*%%~A*.log" (Copy /Y "%ChkDir%*%%~A*.log">Nul 2>&1
) Else Echo "%ChkDir%*%%~A*.log not found"
Pause

仍然有点不清楚,也许这有效:

@ECHO OFF
FOR /f "tokens=2 delims=," %%b IN (test.txt
) DO If not exist "D:test*%%b*.log" (
echo "file "D:test*%%b*.log" not found" 
) Else (
xcopy "D:test*%%b*.log" C:dest 
)

最新更新