使用批处理文件搜索包含输入的文件,然后将其移动到另一个目录
Using Batch file to search for a file containing an input then moving it to another directory
@echo OFF
@find /c /i "james" "C:\Users\ersojt\Desktop\Sample\*.eml" > NUL
if %ERRORLEVEL% EQU 0 (
move "C:\Users\ersojt\Desktop\Sample\*.eml" "C:\Users\ersojt\Desktop\Sample2"
) else (
@echo Failure
)
PAUSE
我正在尝试使用批处理文件来搜索包含输入的特定文件;然后将此文件移动到另一个目录。
谁能帮帮我?
@echo OFF
setlocal enableextensions disabledelayedexpansion
set "source=C:\Users\ersojt\Desktop\Sample\*.eml"
set "target=C:\Users\ersojt\Desktop\Sample2"
set "searchString=james"
set "found="
for /f "delims=" %%a in ('
findstr /m /i /l /c:"%searchString%" "%source%" 2^>nul
') do (
if not defined found set "found=1"
echo move "%%a" "%target%"
)
if not defined found (
echo Failure
)
pause
这将使用 findstr
命令搜索包含指定搜索字符串的文件。 /m
开关用于只检索匹配的文件名。
findstr
由 for /f
命令执行,该命令将检索其输出,并且对于输出中的每一行,执行 do
子句中的代码,其中行存储在 for
可替换参数中(本示例中为 %%a
)。
移动操作仅回显到控制台。如果输出正确,请删除 move
命令前缀的 echo
。
@echo OFF
@find /c /i "james" "C:\Users\ersojt\Desktop\Sample\*.eml" > NUL
if %ERRORLEVEL% EQU 0 (
move "C:\Users\ersojt\Desktop\Sample\*.eml" "C:\Users\ersojt\Desktop\Sample2"
) else (
@echo Failure
)
PAUSE
我正在尝试使用批处理文件来搜索包含输入的特定文件;然后将此文件移动到另一个目录。
谁能帮帮我?
@echo OFF
setlocal enableextensions disabledelayedexpansion
set "source=C:\Users\ersojt\Desktop\Sample\*.eml"
set "target=C:\Users\ersojt\Desktop\Sample2"
set "searchString=james"
set "found="
for /f "delims=" %%a in ('
findstr /m /i /l /c:"%searchString%" "%source%" 2^>nul
') do (
if not defined found set "found=1"
echo move "%%a" "%target%"
)
if not defined found (
echo Failure
)
pause
这将使用 findstr
命令搜索包含指定搜索字符串的文件。 /m
开关用于只检索匹配的文件名。
findstr
由 for /f
命令执行,该命令将检索其输出,并且对于输出中的每一行,执行 do
子句中的代码,其中行存储在 for
可替换参数中(本示例中为 %%a
)。
移动操作仅回显到控制台。如果输出正确,请删除 move
命令前缀的 echo
。