Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 要在clipbrd中复制的批处理folderA中旧文件的FileName和Path,folderB中的同名文件除外_Batch File - Fatal编程技术网

Batch file 要在clipbrd中复制的批处理folderA中旧文件的FileName和Path,folderB中的同名文件除外

Batch file 要在clipbrd中复制的批处理folderA中旧文件的FileName和Path,folderB中的同名文件除外,batch-file,Batch File,我在文件夹中有C0001.mxf、C0002.mxf、C0003.mxf、C0004.mxf、C0005.mxf、C0006.mxf、C0007.mxf、C0008.mxf、C0009.mxf、C0010.mxf、C0011.mxf ecc 现在我的folderB已经空了 假设我已在windows/system32上安装了copy.exe dos应用程序,例如批量使用:echo%filepath%| clip 2>nul 我想构建一个批处理来实现这一点:在folderA中,必须选择最早的.mxf

我在文件夹中有C0001.mxf、C0002.mxf、C0003.mxf、C0004.mxf、C0005.mxf、C0006.mxf、C0007.mxf、C0008.mxf、C0009.mxf、C0010.mxf、C0011.mxf ecc

现在我的folderB已经空了

假设我已在windows/system32上安装了copy.exe dos应用程序,例如批量使用:echo%filepath%| clip 2>nul

我想构建一个批处理来实现这一点:在folderA中,必须选择最早的.mxf文件,然后必须使用clip.exe应用程序将其完整的文件名和路径(例如c:\folderA\c001.mxf)放入clipbrd,但是如果folderA中选择的.mxf文件已经存在于folderB中,如果它以c001.avi或c001的形式存在的话。[anything extension]或不带扩展名的C0001,则脚本必须将folderB-->中不在folderB-->中的folderA中下一个较旧的文件名和路径复制到clibrd中。例如:如果folderB已经有C0001、C0002和C0003-->脚本必须放入clipbrd C:\folderA\C0004.mxf

如果可能的话,批处理文件必须在开始时要求键入源文件中包含的.mxf文件folderA

如果folderB包含folderA中包含的所有文件名,示例folderB具有C0001.avi、C0002.avi、C0003.avi、C0004.avi、C0005.avi和folderA具有C0001.mxf、C0002.mxf、C0003.mxf、C0004.mxf、C0005.mxf--->脚本转到末尾,不执行任何操作

如果用户未键入.mxf文件的folderA源并按键盘上的Enter键,则folderA必须自动设置为当前文件夹

ps:我有一个脚本,可以识别目录中较旧的文件,但目前我无法修改它:如果目录FolderA中的文件存在于文件夹B中,则将文件夹B中下一个较旧的文件名和路径复制到文件夹B中(存在于FolderA中)

set ext=.mxf
for /f "tokens=1,*" %%A in ("%*") do set folder=%%A %%B
if "%folder%"=="" set folder=%cd%
if not "%folder:~1,1%"==":" set folder=%cd%\%folder%
cd /d "%folder%"
for /f "delims=" %%G in ('dir *%ext% /b /o:-d /t:w') do set file=%%G
for %%H in ("%file%") do set filename=%%~nH
echo %filename% | clip 2>nul
if %errorlevel%==1 goto:EOF
更改d:\folderB以适合您

@echo off
:loop
set "d="
set "done="
set /p "d=Type source path (or press enter for current folder): "
if not defined d set "d=%cd%"
if not exist "%d%" echo Enter valid path - try again & goto :loop

cd /d "%d%"
for /f "delims=" %%a in ('dir *.mxf /b /od /a-d') do (
   if defined done goto :EOF
   if not exist "d:\folderB\%%~na.*" (
      echo %%~fa|clip >nul
      set done=1
   )
)