В настоящее время я пытаюсь создать пакетный файл, который фактически копирует папку с сервера на клиентский компьютер. И я играю с пакетным файлом, используя xcopy, и он дает мне процент выполнения. Я не программист, я только что изменил крошечное монтирование строк из кода, который я получил: https://answers.yahoo.com/question/index?qid=20120229012108AA8EwOA (вся заслуга принадлежит "Джейку").

Тем не менее, пакетный файл фактически скопирует целые файлы, включая родительские папки, я что-то здесь упустил?

Вот код:

@echo off&color a
setlocal enabledelayedexpansion

cd /
mkdir ZZZDestination
set startdir="C:\ZZZSource\Depth1\Depth2\the files"
set enddir="C:\ZZZDestination\"
echo.
echo Please make sure you are connected to Ericsson Network-preferrably via LAN CABLE
echo This will copy the files to your machine
echo.
echo Press any key to continue
PAUSE>nul

for /f "tokens=1,2,3,4,5" %%a in ('dir /s %startdir%^|findstr bytes') do if /i not "%%e"=="free" set qtyfiles=%%a
set filecount=0
for /f "tokens=*" %%a in ('dir /a-d-h-s /s /b %startdir%') do (
xcopy /z /q /s /e /y "%%a" "%enddir%\%%~pa\*.*" >nul
set /a filecount=!filecount!+1
set /a percentage=!filecount!*100 / !qtyfiles!
cls
echo.
echo Copying files, PLEASE DO NOT CLOSE THIS WINDOW
echo ======================================================
echo Please wait for copying:       !percentage!%% Completed
echo ======================================================
)
echo.
echo DONE, please press any key to exit..
PAUSE>nul

Я пытался изменить xcopy /z /q /s /e /y "%% a" "% enddir%\%% ~ pa *. *"> Nul в xcopy /z /q /s /e /y " %% a ""% enddir% "> nul Однако файлы в подпапке в C:\ZZZSource\Depth1\Depth2\файлы будут скопированы из папки. Например, в папке C:\ZZZSource\Depth1\Depth2\файлы находятся папки ABC, а внутри них по 4-5 файлов. Эти 4-5 файлов будут скопированы в "C:\ZZZDestination\".

У кого-нибудь есть идеи?

Заранее спасибо.

0