从设置位置复制文件的批处理脚本
Batch Script to copy files from set locations
我试图让这个 bat 文件根据特定条件复制文件。
我缺少什么才能让它工作?
@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
set "PATTERN=*.nwd"
set "SOURCE=C:\NWD\"
set "TARGET=C:\NWM\"
set "STRING1=191058"
pushd "%SOURCE%" && (
for /F "delims=" %%F in ('findstr /S /M /I /R /C:"\<%STRING1%\>" "%PATTERN%"') do (
ECHO copy "%%F" "%TARGET%"\"%%~nxE"
)
)
popd
)
endlocal
exit /B
要修复您的代码,您可以这样做:
@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
set "PATTERN=*.nwd"
set "SOURCE=C:\NWD\"
set "TARGET=C:\NWM\"
set "STRING1=191058"
pushd "%SOURCE%" && (
for /F "delims=" %%F in ('findstr /S /M /I /R /C:"\<%STRING1%\>" "%PATTERN%"') do (
ECHO copy "%%F" "%TARGET%%%~nxF"
)
)
popd
endlocal
exit /B
不过我会把它改成这样:
@Echo Off
Set "PATTERN=*.nwd"
Set "SOURCE=C:\NWD"
Set "TARGET=C:\NWM"
Set "STRING1=191058"
CD /D "%SOURCE%" 2>Nul || Exit /B
For /F "Delims=" %%A In ('FindStr /SM "\<%STRING1%\>" "%PATTERN%"') Do (
Echo Copy /Y "%%A" "%TARGET%\%%~nxA")
您可能希望添加暂停以便在脚本关闭前看到 Echo
我试图让这个 bat 文件根据特定条件复制文件。
我缺少什么才能让它工作?
@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
set "PATTERN=*.nwd"
set "SOURCE=C:\NWD\"
set "TARGET=C:\NWM\"
set "STRING1=191058"
pushd "%SOURCE%" && (
for /F "delims=" %%F in ('findstr /S /M /I /R /C:"\<%STRING1%\>" "%PATTERN%"') do (
ECHO copy "%%F" "%TARGET%"\"%%~nxE"
)
)
popd
)
endlocal
exit /B
要修复您的代码,您可以这样做:
@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
set "PATTERN=*.nwd"
set "SOURCE=C:\NWD\"
set "TARGET=C:\NWM\"
set "STRING1=191058"
pushd "%SOURCE%" && (
for /F "delims=" %%F in ('findstr /S /M /I /R /C:"\<%STRING1%\>" "%PATTERN%"') do (
ECHO copy "%%F" "%TARGET%%%~nxF"
)
)
popd
endlocal
exit /B
不过我会把它改成这样:
@Echo Off
Set "PATTERN=*.nwd"
Set "SOURCE=C:\NWD"
Set "TARGET=C:\NWM"
Set "STRING1=191058"
CD /D "%SOURCE%" 2>Nul || Exit /B
For /F "Delims=" %%A In ('FindStr /SM "\<%STRING1%\>" "%PATTERN%"') Do (
Echo Copy /Y "%%A" "%TARGET%\%%~nxA")
您可能希望添加暂停以便在脚本关闭前看到 Echo