簡體   English   中英

僅使用批處理復制web.config文件

[英]Only copy web.config files using batch

這是我用來搜索要復制的文件的代碼。

@echo off
setlocal disableDelayedExpansion

set "src=C:\"
set "dst=C:\test2"
set "search=Web.config"

for /r "%src%" %%F in (*%search%*) do (
set "full=%%~fF"
set "name=%%~nxF"
setlocal enableDelayedExpansion
copy "!full!" "%dst%\!name:%search%=Web.config - Datum - %date:~0,2%-%date:~3,2%-     %date:~6,4%-Tijd-%time:~0,2%-%time:~3,2%-%time:~6,2%!"
endlocal
)

但是通過此操作,它將復制其中帶有web.config的所有文件(例如DEFAULT文件和COMMENTS文件)。 我只想要“ XML Config”文件。

有人知道解決這個問題的方法嗎?

您可以嘗試以下方法:

@ECHO OFF &SETLOCAL disableDelayedExpansion

set "src=C:\"
set "dst=C:\test2"
set "search=Web.config"
SET "XMLLine1=<?xml version="1.0" ?>"

FOR /f "delims=" %%a IN ('DIR /s /b /a-d "%search%"') DO CALL:SearchAndCopy "%%~a"
GOTO:EOF

:SearchAndCopy
SETLOCAL
FOR /f "usebackqdelims=" %%b IN ("%~1") DO SET "Line1=%%~b"&GOTO:next
:next
IF /i NOT "%Line1%"=="%XMLLine1%" EXIT /b
COPY "%~1" "%dst%\Web.config - Datum - %date:~0,2%-%date:~3,2%-     %date:~6,4%-Tijd-%time:~0,2%-%time:~3,2%-%time:~6,2%"
EXIT /b

根據您的需要更改XMLLine1
請注意,這不適用於UTF-8 / 16 /…文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM