批处理两个文件夹对比选出相同文件,A复制到B? 求一批处理,比较AB文件夹内文件的相同文件名,(B的子文件夹...
\u6279\u5904\u7406\u5b9e\u73b0\u4e24\u4e2a\u6587\u4ef6\u5939\u4e0b\u7684\u6587\u4ef6\u540d\u6bd4\u8f83\uff0c\u4e00\u65e6\u91cd\u540d\uff0c\u5c31\u628a\u76ee\u6807\u5730\u5740\u7684\u540c\u540d\u6587\u4ef6\u590d\u5236\u5230\u4e00\u4e2a\u5176\u4ed6\u7684\u6587\u4ef6\u5939\u4e0b@echo offset #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$%/%_% %z%set "a=D:\a\"set "b=D:\b\"set "c=D:\c\"md "%c%" 2>nulcd /d "%a%"for /f "delims=" %%a in ('dir /a-d/b') do ( if exist "%b%%%~nxa" (copy "%b%%%~nxa" "%c%" /y))echo;%#% +%$%%$%/%_% %z%pause
\u8fd9\u4e2a\u9700\u8981\u8f6f\u4ef6\u68c0\u6d4b\u624d\u53ef\u4ee5\u6279\u5904\u7406\u662f\u4e0d\u80fd\u68c0\u6d4b\u5230\u6587\u4ef6\u7684\u6539\u53d8\u7684\u3002\u6240\u4ee5\u8fd8\u8981\u7528\u4e00\u4e2a\u540c\u6b65\u8f6f\u4ef6\u5c31\u53ef\u4ee5\u3002\u540c\u6b65\u8f6f\u4ef6\u5c31\u53ef\u4ee5\u505a\u5230\u5148\u5bf9\u6bd4\u6587\u4ef6\uff0c\u5982\u679c\u6709\u4e00\u70b9\u4e0d\u540c\u5c31\u4f1a\u628aA\u6587\u5939\u540c\u6b65\u5230B\u6587\u4ef6\u5939\u3002\u6279\u5904\u7406\u53ea\u80fd\u662f\u4eba\u4e3a\u7684\u505a\u4e00\u6b21\u590d\u5236\u4e0d\u53ef\u4ee5\u81ea\u52a8\u7684\u3002\u65b0\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\uff0c\u547d\u540d\u4e3a\u6240\u6709\u6587\u4ef6\uff0c\u63a5\u7740\u65b0\u5efa\u4e00\u4e2a\u6587\u672c\u6587\u6863\uff0c\u547d\u540d\u4e3a\u6240\u6709\u6587\u4ef6.txt\u6253\u5f00\u6587\u672c\u6587\u6863\u6240\u6709\u6587\u4ef6.txt ,\u8f93\u5165for /f "delims=" %%p in ('dir /b/ad') do copy %%p\*.* C:\Users\Administrator\Desktop\\u6d4b\u8bd5\u6587\u4ef6\u5939\\u6240\u6709\u6587\u4ef6\u3002PS:\u8fd9\u91cc\u7684C:\Users\Administrator\Desktop\\u6d4b\u8bd5\u6587\u4ef6\u5939\\u6240\u6709\u6587\u4ef6\u662f\u4f60\u8981\u4fdd\u5b58\u7684\u4f4d\u7f6e\u518d\u70b9\u51fb\u6587\u4ef6--\u53e6\u5b58\u4e3a\u5f39\u51fa\u53e6\u5b58\u4e3a\u7a97\u53e3\u5c06\u6587\u4ef6\u540d\u7684\u540e\u7f00\u4fee\u6539\u4e3a.bat\uff0c\u518d\u70b9\u51fb\u4fdd\u5b58\u63a5\u7740\u5728\u53cc\u51fb\u6240\u6709\u6587\u4ef6\u7684\u6279\u5904\u7406\u56fe\u6807\uff0c\u63a5\u7740\u6240\u6709\u6587\u4ef6\u5939\u4e2d\u5185\u5bb9\u5c31\u4f1a\u5728\u547d\u540d\u4e3a\u6240\u6709\u6587\u4ef6\u7684\u6587\u4ef6\u5bb6\u4e2d\u3002
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,A和B文件夹需设为共享文件夹
<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 对比两台电脑里的两个文件夹,找出相同名称的文件,将一个文件夹里的同名文件替换掉另一个文件夹的同名文件
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "current=%cd%"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$folder1="\\A电脑IP\A文件夹";
$folder2="\\B电脑IP\B文件夹";
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$dic=New-Object 'System.Collections.Generic.Dictionary[string, object]';
$files1=@(dir -literal $folder1|?{$_ -is [System.IO.FileInfo]});
for($i=0;$i -lt $files1.count;$i++){
$key=$files1[$i].Name.ToLower();
if(-not $dic.ContainsKey($key)){
$arr=New-Object -TypeName System.Collections.ArrayList;
[void]$dic.add($key, $arr);
}
[void]$dic[$key].add($files1[$i]);
}
$files2=@(dir -literal $folder2|?{$_ -is [System.IO.FileInfo]});
for($i=0;$i -lt $files2.count;$i++){
$key=$files2[$i].Name.ToLower();
if($dic.ContainsKey($key)){
$dic[$key][0].FullName+$c+$files2[$i].FullName;
}
}
将A文件夹里的文件进行全选复制,到B文件夹里面直接粘贴,如果有相同的文件系统会提示有相同的文件,选择全部覆盖就好了。单电脑可以,局域网中的共享文件也适用
可以使用for if exist来做:
cd /d A文件夹
for %f in (*.*) do if exist "B\%f" copy "%f" B\
绛旓細妤间富锛岀敤鎵瑰鐞琛屼笉琛岋紵姣旇緝C鍒嗗尯鍜孌鍒嗗尯锛屾壘鍑篋鍒嗗尯涓枃浠跺悕锛堜笉鍖呮嫭鎵╁睍鍚嶏級鍜孋鍒嗗尯鏂囦欢鍚嶏紙涓嶅寘鎷墿灞曞悕锛夌浉鍚岀殑鏂囦欢骞跺垹闄鍒嗗尯涓枃浠跺悕锛堜笉鍖呮嫭鎵╁睍鍚嶏級鍜孋鍒嗗尯涓湁鐩稿悓鏂囦欢鍚嶏紙涓嶅寘鎷墿灞曞悕锛夌殑鏂囦欢銆傛祴璇曟垚鍔熷悗鍒犻櫎浠g爜涓殑echo 鍗冲彲銆俥cho off for /r c:\ %%i in (*) do (for /r d...
绛旓細echo offset "bf=1.txt"(for /f "usebackq tokens=1-2*" %%a in ("%bf%") do (findstr /r "%%b\>" "D:\鏂板缓鏂囦欢澶\*.txt" >nul&&if %%b gtr 500000 (echo +%%b) else echo -%%b))>>result.txtpause灏嗚鐢ㄤ簬鏌ユ壘鐨勬枃浠(1.txt)鍜鎵瑰鐞鏀惧湪涓璧,涔熷彲璁剧疆1.txt璺緞.灏1....
绛旓細echo off&setlocal EnableDelayedExpansion set /p a=璇疯緭鍏ユ悳绱㈠叧閿瓧锛歠or /f "delims=" %%p in (c:\path.txt) do (for /f "delims=" %%f in ('dir /b /a /s /a-d "%%p*.*"') do (set fn=%%nxf (echo !fn! | find /i "%a%") && echo %%f>>Find.txt ))start "...
绛旓細涓嶆竻妤氫綘鐨勫疄闄呮枃浠/鎯呭喌锛屼粎浠ラ棶棰樹腑鐨勬牱渚/璇存槑涓烘嵁澶嶅埗绮樿创鍒拌浜嬫湰锛屽彟瀛樹负xx.bat锛岀紪鐮侀堿NSI锛岃窡瑕澶勭悊鐨鏂囦欢澶鏀句竴璧疯繍琛孈echo offrem 灏嗗涓瓙鏂囦欢澶归噷鍚嶇О鐩稿悓(鍚屽悕)鐨則xt鏂囨湰鏂囦欢鍚堝苟鎴愪竴涓柊鐨則xt鏂囦欢set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%...
绛旓細('dir /b "c:\hello"') do (for /f "delims=/ tokens=1-3" %%a in (C:\Users\helloworld\Desktop\a.txt) do if not "%%~ni"=="%%c" echo %%a//%%b/ c>>hello.txt)rem 鍋囪瀛樻斁avi鐨鏂囦欢澶瀹屽叏璺緞涓篶:\hello pause rem 鐧惧害鐨勬帓鐗堟湁闂锛岃嚜宸辨敞鎰忔帓鐗堬紙鍒皯銆佸鍑虹┖鏍硷級...
绛旓細鐢≧eplace Pioneer,姝ラ锛1. 鎵撳紑Tools->Batch Runner鑿滃崟 2. 鐐瑰嚮Search Files,璁剧疆File name filter涓*.xml,璁剧疆Search Directory涓烘悳绱㈢殑鐩綍锛屽苟閫変腑瀛愮洰褰曢夐」锛歋earch Subdirectory 3. 鐐瑰嚮Search,鍒欒鐩綍鍙婂瓙鐩綍鐨勬墍鏈墄ml鏂囦欢琚変腑,鐐瑰嚮Close鍏抽棴Search Files绐楀彛 4. 鐐瑰嚮Change Encode锛岄夋嫨input...
绛旓細PS:杩欓噷鐨凜:\Users\Administrator\Desktop\娴嬭瘯鏂囦欢澶\鎵鏈夋枃浠舵槸浣犺淇濆瓨鐨勪綅缃 4銆佹垜浠啀鐐瑰嚮鏂囦欢--鍙﹀瓨涓 5銆佸脊鍑哄彟瀛樹负绐楀彛锛屾垜浠皢鏂囦欢鍚嶇殑鍚庣紑淇敼涓.bat锛屽啀鐐瑰嚮淇濆瓨 6銆佹垜浠帴鐫鍦ㄥ弻鍑绘墍鏈夋枃浠剁殑鎵瑰鐞鍥炬爣锛屽涓嬪浘鎵绀猴紝鎺ョ潃鎵鏈夋枃浠跺す涓唴瀹瑰氨浼氬湪鍛藉悕涓烘墍鏈夋枃浠剁殑鏂囦欢瀹朵腑銆
绛旓細echo off set s=鍚屾牱鐨勫瓧 set p=r:\test dir/s/b/a-d "%p%"for /f "tokens=*" %%i in ('dir/s/b/a-d "%p%"') do move "%%i" "%%~dpi"%s%"%%~nxi"dir/s/b/a-d "%p%"
绛旓細echo off set a=d:\back set b=d:\test pushd %a for /f "tokens=*" %%i in ('dir/b/a-d') do (for /f "tokens=*" %%j in ('dir/s/b/a-d "%b%\%%i"') do copy "%%i" "%%j")鎵瑰鐞鐨勬晥鐜囦笉鏄緢楂橈紝濡傛灉鏂囦欢姣旇緝澶氱殑璇濅細姣旇緝鎱㈢殑锛屽缓璁厛鎸変綘鐨勪緥瀛愭祴璇曟垚鍔熷悗鍐...
绛旓細setlocal enabledelayedexpansion ::璁剧疆瑕澶勭悊鐨鏂囦欢澶璺緞锛屽綋鍓嶇洰褰曪紝璇风暀绌哄彉閲 set Folder=D:\TestFolder ::璁剧疆瑕佸鐞嗙殑鏂囦欢鏍煎紡锛屽涓牸寮忎箣闂寸敤鑻辨枃閫楀彿闅斿紑 set Ext=*.xlsx if defined Folder cd /d "%Folder%"for /f "delims=" %%a in ('dir /a-d/b %Ext%') do (set "Fn=%%~...