今天写了一个自动更新程序的批处理脚本,但是有个变量一直赋值有问题。弄了一个下午终于找到原因及解决方法:

----转载要说明来自:博客园--邦邦酱好 哦

有问题的代码如下:

@echo off
echo.
set choice=
::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::程序包上传FTP::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::
if "%choice%"=="" (
echo 请确认你已经把程序包放到本地指定目录下(y/n):
set /p yn=
echo %yn%
if /i "%yn%"=="n" (
set yn=""
goto end
)
echo 开始上传本地最新的程序包到服务器上...
echo 上传完毕
) :end
set choice=
echo 脚本终止!

连续运行4次,中间有2次说“ECHO处于关闭状态”,然后程序就判断失败了,这是为什么呢?

多次试验发现,如果语句set /p yn=   是在if语句外部,就不会发生这样的问题。

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYsAAAHaCAIAAAB+UPKOAAAgAElEQVR4nO2daZAdxZXv6+uMw2FjVoMx2BgBxmAwAoQWJAEGLWhHEgbcyOGxxx6DgIn3vszXFzERDkc8R4wftgGzbwJkdatbkpcx6BpmxhE2YbMv6kW0PM/Ls8dim89+H7pVqpt5zj9PZtXtyu77/0WFom7WyXNOnsz8k9UtXYrzFlx1/mWff+SJwTPOPq8ghJCs+PTFy869ZPnDO3Z+Yt65bedCCCHdnHnBwnkXLHzw0SdOO+PstnMhhJBuTj/nc6efc9F9Dz32sdM/1XYuhBDSzcmf/PTJnzz3nvsfPvnU09vOhRBCujnuY2cc97Ez7vrB/SeefGrbuRBCSDfHnHTaMSed9r277z3+pFPazoUQQrr58AmnfviEU7971w+OO/HktnMhhJBujjnx4x8+8dTv3X3v8VQoQkhuHHvyJ449+RPfv+e+Ez76sbZzIYSQbk46/awTTzvr7nsfPOmU09rOhRBCuvn4WZ89dd5n733gkVNOO6PtXAghpJtPnXfpGedd+sAjOz7+yXmdbuq4re+hQRoZESGkBc656PJzLrr8ocd3nn7mp4uKshi3NLDRPDSlFFF+EhSKikZI+3xmwZXnLbjykSd2ffKszxTdO9nZ1eJJBO/8WHs7sX56bU8I6QnnX/b58xde/eiTg2ecfX4Rr1C+GXja8fCdi4oGjI1SEhU3wT8hpCc43w8FFAoQK1JGA9AxVjiickjwTwjpCc73Q6UpFDC27HxwZjG6jUrPv7fHJYTMKM73QwWPLWDf+k8tLVpjgh+jh/I+OFi7f0JIT3C+H0rcvVMEFaowHMGC6mC5T8gzWaEoVYS0SfX7oTrdpDkMbmygIPZ2zY/Y7siN/0jMuWYdCCENwO+HIoTkC78fihCSL/x+KEJIvvD7oQgh+cLvhyKE5Au/H4oQki/8fihCSL5Uvx+q7VwIIaQb5/uhCCEkI5zvhyKEkIxwvh+KEEIywvl+KEIIyQjn+6EIISQjnO+HIoSQjHC+H4oQQjKi+v1QbedCCCHdHHfKJ487hd8PRQjJkg+fcOr0dxucxO82IIRkxgeP/egHj/3od79/z3EnfLTtXAghpJsPHHPCB4458c7v3XXs8ScCs9iv627c3vkG8Sjn9aPXtE/rEtXR7l+0rFNS3NfiOTal5MXAb52fffzth47/2w8d/3++e9dHjjux0KewwT2ctkPsi7IDsTgP9kqwL9vtWRnHa7cBxtqkWMqIQycnDzp24GKomQ8YNZ5cS6Hs4CTtw0mmd57j+JsPHfc3HzquVKiiklmwfKCsuNyWFmCQXDuxI/YW7FKthn8jVgaHgOtWLqnRLHaYRoOEAlpsjBH9ajuWsfWsPxy7cZS3xru37t8EUKgqUdOGPxpbtKd1tiIemj0rbYdY/ASjJCwLS56FfnxL20hgvJbcNBuLW3E9JEfXEqjj0GhcRwJmRj5mJgrCV6gqRi0AE1xHOyz+a0bBmQd3eCHtqKgoYlwQMdg9+Ej0AKIE74MJRw3BcVu1F/2AMYLKaNGDvbRwxpFavBmp0ze3KAisUCUgUX95NTtVzhoN9jWm6ucpWgYj+pbBHYWLY8+/0AtuTD72YwHHK8YCs6/Vp/oU56BFBykFESdIm6ygq5oGjXdM6F4zVl2qCuWvb8s8+Y3aDZhmUAVtpWpdsCtLezBQR9oh/o0lpWAyRaV6mqWWsBjXn0dxOL6l1gtXVUteTLhqb6+nlmFwFI4lHo7laaxxsIaNpOH3bXYUvcX4cygNcSWBGy2EZZXbu9iXY+FtD0usalbBKI0siKhtg9c9nh08EdX74O5yqiTa+JmU5QL+LT6DsdIM/NVixOLNNgJkXI0lxvUNcIaxiTUPVqhgrZ0B23v5H8VqiikZe1lIq744as2nUwGxOP4ANTN7PbXRifOluQLtdaIA55aOwXpqgXAaFoOa3bGxvS+YJqcy2tOgcUJWPSGoUI69/xQsKW2RiR+bWsFR0+yv7OCK96cZhyiUAUYtiGABxYSxKzCVlqxAFK0+liFX3Wp1wz7t+WjJYHA44yzbkzd2LNv9AoofsXFaSkbLOGqeoQpppYIb8BEMT/RjdI6xBK22+KlalqA4wKgFgSNqLdiV71MbsrgAoiYXpCpmIqZkrD9u0YaDM4zKX6uMxZtx9YLFU40u3geNk1MyWsZR5wzltDijBeugus5wOC2E8R57SzYzhtPSthTHnkxsFzGrhBB4UsAwRVelQXCu/Ue4ntiVT0Kpq4/KPy3LzGIT21csuLZCLDbJGTaDplDVQgenX1uC2qIUjX0zpx0v06ATYCAOLbgWgZnFVdSCwIOyP8X3xiFrj2KHicsOiozrj1sSloflaXDNJ8Sq01fbYsAmakFib00iKhQYG2jxV7nmJ8p/VCNoF6ODshq3qyW3Xg/K/rQ6RxYtqLZX6UVuwB5EDHoAgzWmhJ86BXHu6xQnCJ6sOp6x/54GdbG/5TkzLdpoH2vuRrvP0gADPOMuYmgcoujeHsA/qBIYrGXI/mDFRpxtWm7BzMUueAjOQDRji6XYJcrSieWPV6ueaByLlnlNt0UTuTVD8F+9gI9B+9hGe9wWy5cQuma2vRtscOekzXiUQSz2tZEWOmplRj2tb9+PGP/VCyGEtAAVihCSL1QoQki+UKEIIflChSKE5AsVihCSL1QoQki+VP9fL9rfTCOEkHb4wEdO+sBHTrrz+3cfe8JJVWGiSBFC2ueDJ5z6wRNO/e5d9x534slUKEJIXhxz6rxjTp33vXsfOP7kj1OhCCF5ceLZ8088e/7dDz520umfokIRQvLitAUrTluw4t4dg6fMO48KRQjJi7NXbzt79bYHh35y2vmXtp0LIYR0c+G2f7pw2z89+pN/P+PSK9rOhRBCuln4P+5c+D/vfOLZF85atrbtXAghpJvl//zU8n9+aucvD3z6mq1t50IIId1c/Z2nr/7O07teOPSZNTe3nQshhHSz8p5frPzBLwZf/t15G77cdi6EENLNqvufX3X/80Ov/uH8jV9pOxdCCOlm1X2/WnXfr4ZeoUIRQvJjxd3/seKe/xh8+f+et55veYSQzLjqzv1X3bl/1wuHzl27re1cCCGkm2Xf/vGyb/94568PnnPtF/n9UISQvFj8rZHF39rz5PMTZ6+6kf8ujxCSFwu+uXvBN4d3/Gp83sobqFCEkLy45JvDl3xz5PHnx89cyTMUISQz5n9r3/xv7Xvs+YNnrrqJCkUIyYv5//un87/908d+/danVg9QoQgheTH/X/bP/5f9j/3m0JnXbms7F0II6ebiO5+7+M7nHn/xP89c+6W2cyGEkG4uuesXl9z1i8df+t2Z6/h3ygkhmXHJPb+89J5f7nj59/PW/51oEPvTKIu9YxMVgj8dI6SPuPTe5y+99/kdr/xh3oavFkd+QO78yDzKYQ4KRRUjZI6w4L5fL7jv1zte+eO8jdMKNdUuKpTl38QE1cE3iPrXNlQoQvqIBff9ZsH9v9nxqqxQ2nmqQYWKPU9RoQjpIxbcjxSq8M5Q/o0FzYP21MFio9kTQmYxC+7/zWX3v/DEq/9v3sa/L0I/hwqeofCbmqZcpVppSVKhCOlTLrv/hcse6FKoqfYEhaoKDdYI/6ndHhzQjN4IIbOGyx5QFcoXgkYUSpMnnqEIIS5AoZwbrVF7ZDndOIcgy5mICkVIH1Eq1Fk1fg6lKYioR/gFrZB0igpFSJ/iK9RUu/jm5b/uiTb2j45bjViFIoTMES574IWFIYUCslV9pB2RjJoCzKhQhPQpC0uF2hTxk/LSxndoadQOTeC9L2hj8UMImWUAhQIfAfgo5GtT8BWvoEIR0rcsfPDFhQ++qCmUQ311AKck/5H45qgRTIwQMvuoKlSn+xXPN+71+YVCQwjpwjlDEUJIRix88MVFD774xGtUKEJIfix68MVFD00p1NfazoUQQrpZ9NCUQv2JCkUIyY6qQjX427Gsfr/G3/cRMltZ9NCLix566YnX/nTWdV8ruv9dSyN/+ymqSxRRfhIUiopGSPsseuilKYU6u1uhCm9XiycRvPNj7e3E+um1PSGkJyx66KVFD7/0ZKpC+WbgacfDdy4qGjA2SklU3AT/hJCesOjhlxbbFAoQK1JGA9AxVjiickjwTwjpCYubUChgbNn54MxidBuVnn9vj0sImVHsCuVvYwf/qaVFa0zwY/RQ3gcHa/dPCOkJix9+afHDLz/5uqtQmijYpQSLkWZpuU/IM1mhKFWEtMnih19e/Mi0QnW6SXMY3NhAQeztmh+x3ZEb/5GYc806EEIaYPEjLy955OgZihBCMmIJFYoQki1UKEJIvlChCCH5clShNlOhCCGZseSRl5c8+vJTVChCSIYseeTly6lQhJA8ufxRKhQhJFcqCvX1tnMhhJBuqFCEkHy5/NGXL3/0lade/9M5VChCSG5MK9QbVChCSH5c/ugrS6lQhJA8WfroK0sfo0IRQrJk6WNUKEJIrlChCCH5QoUihOTL0sdeWfr4Kzvf+DMVihCSHUsff2XZ469SoQghObLs8VctChX7dd2N2zvfIB7lvH70mvZpXaI62v2LlnVKivtaPMemlLwY+K3zsw9HocD//iDKrXF52f3bF2UHYnEe7JVgX7bbszKO124DjLVJsZQRh05OHnTswMVQMx8wajy5lkLZwUnah5NM7zzH4Z+hysyC5QNlxeW2tACD5NqJHbG3YJdqNfwbsTI4BFy3ckmNZrHDNBokFNBiY4zoV9uxjK1n/eHYjaO8Nd69df8mSoX69BZXoapETRv+aGzRntbZinho9qy0HWLxE4ySsCwseRb68S1tI4HxWnLTbCxuxfWQHF1LoI5Do3EdCZgZ+ZiZKIhlj7+6bEeXQlUxagGY4DraYfFfMwrOPLjDC2lHRUUR44KIwe7BR6IHECV4H0w4agiO26q96AeMEVRGix7spYUzjtTizUidvrlFQSzb8epyXaFKQKL+8mp2qpw1GuxrTNXPU7QMRvQtgzsKF8eef6EX3Jh87McCjleMBWZfq0/1Kc5Biw5SCiJOkDZZQVc1DRrvmNC9Zqy6LK8olL++LfPkN2o3YJpBFbSVqnXBriztwUAdaYf4N5aUgskUleppllrCYlx/HsXh+JZaL1xVLXkx4aq9vZ5ahsFROJZ4OJanscbBGjaSht+32VH0luXeGSo2e7/K4EYLYVnl9i725Vh428MSq5pVMEojCyJq2+B1j2cHT0T1Pri7nCqJNn4mZbmAf4vPYKw0A3+1GLF4s40AGVdjiXF9A5xhbGLNgxUqWGtnwPZe/kexmmJKxl4W0qovjlrz6VRALI4/QM3MXk9tdOJ8aa5Ae50owLmlY7CeWiCchsWgZndsbO8LpsmpjPY0aJyQVU9YvuPV5TteAwrl2PtPwZLSFpn4sakVHDXN/soOrnh/mnGIQhlg1IIIFlBMGLsCU2nJCkTR6mMZctWtVjfs056PlgwGhzPOsj15Y8ey3S+g+BEbp6VktIxj+Y5Xr9jx2s43E89QhbRSwQ34CIYn+jE6x1iCVlv8VC1LUBxg1ILAEbUW7Mr3qQ1ZXABRkwtSFTMRUzLWH7dow8EZRuWvVcbizbh6weKpRhfvg8bJKRkt41i+47UrnkAK5eehtTijBeugus5wOC2E8R57SzYzhtPSthTHnkxsFzGrhBB4UsAwRVelQXCu/Ue4ntiVT0Kpq4/KPy3LzGIT21csuLZCLDbJGTbDFU/IClUtdHD6tSWoLUrR2Ddz2vEyDToBBuLQgmsRmFlcRS0IPCj7U3xvHLL2KHaYuOygyLj+uCVheVieBtd8Qqw6fbUtBmyiFiT21iSiQoGxgRZ/lWt+ovxHNYJ2MTooq3G7WnLr9aDsT6tzZNGCanuVXuQG7EHEoAcwWGNK+KlTEOe+TnGC4Mmq4xn772lQl1Khzg295TkzLdpoH2vuRrvP0gADPOMuYmgcoujeHsA/qBIYrGXI/mDFRpxtWm7BzMUueAjOQDRji6XYJcrSieWPV6ueaByLlnlNt0UTuTXDlEL98M0/n7v1H/ynHWWnaYgG9kZ73BbLlxC6Zra9G2xw56TNeJRBLPa1kRY6amVGPa1v348cUaj/EhWKEELa5IonXrvyydepUISQHLnyydepUISQTKFCEULyhQpFCMmXK598/SoqFCEkT6hQhJB8uaqiUNrfTCOEkHbwFWqqnSJFCGmfKYXadYAKRQjJj6uefP3zT71BhSKE5Mjnn3qDCkUIyZRSoT5DhSKE5EZVodrOhRBCuvn8U29cPaVQ11OhCCGZcfVTb1z91Bt/LQpes+sipC8oFSqHM1Svv6ku+IVt9UPHfudfWjgqFOkXrn7qjat3zkqF6oQwhgBROke+19UeQlOooABRoQgRmL0KlWbZ4DEtSqH8ewtaaCoU6Reu3vnGNdMK9Y22cyn8zdm4QtXxZlEfo0IZI2pQoUi/cM0RhTrv+m/g/4yL8iHeO/b2ZPx9bvcQNIs6sMQqVPnR4kfzbK8VFYr0C1WFKpT/wU6hiBFQKNEGo8UtbFs3SgqD9tXkNTnTFAqDMzGOggpF+oVrdr5xzc43NYWawqI+FrXCAIXyn9qxhDM+7UiSlGDjG8SKFBWK9AvX7HxzhaJQmuKUNKhQzkbVhCnowU6sN38UNRXKrxKI5UCFIv3Cip1vrvihq1DOAQQrVNA+uN8cPQL71uLEkidA9OYnJkb0RwrqBsYSNKNCkX5hxQ8FhZp6ZFQofA+6iw6LGFXy+9qx6x2WLeej3zFq7EaoUKRfWPHDN1cqClWiKU7jClWk/i4syrIwaIeoSlpuoqxbogD/+D8JVCjSL6w8olDnt/27PCei+NHe0WIcVCicjCYi/r1vGaWAfhcqFOkXqgrVkSgt/UagUFV7ezK+LvRCoSz+RXWIUigcBYhX0AkVivQRK3/45qpdR89QLeKrYXL3KLPgUSito/1AFOWkw7c80les2vXmql0HWlcobaOCM53TN6hQQPXEA2Aw29hksO4Eh1mFCkX6hVW7DrSuULHHpVgPxhNZ1cyidwmx6o90CioU6RdW7TqwekqhvpCuUMYXpTQb0TK5o90GC41Gcg7Y3mnxFSpZ+4wdm9LWBl01mFKLIUgAR6HA3gP7sA8VKjZW1KNYharOi103LbnF2lgWjP/RsTTmb1wDoitjfYwhSA9ZvevA6sEDrX+nLa/Yq5B+u1oY1A3oCNAUixkIivNx7oFBMCUcrlNRqIRUSQusHjywevDA7tG/OG95wYWebFzHLGqT2EMEF7HRp31BAw/i6PCQ8X6zbPjkbO3tWmH95IMJB4uA/WuNuC9phzoKBcTCss+DT6OS0VISAd6czDV7o2fsPDjSjnnHGp/6xlHFsTzSktHG7tv4UyDaV29wkv7ogrMmpkpaYPXggWvrnaHEFWPpiB9VbewOxb4gc3+l+uu+/jL1/QSLqXX0M/TzF9uDocVHmk9sr2WrjVGbApxtIa2NICB5YExa49qmFUrcIaBv0LK6cAFaYv6iB0NwRuEP0A4uhZZ/R9q9IFutxThYZ8iapZ+V1o6HjL2BTMRRdLrnJdhFCxeMIs4UmSFKhfrsF24BKwzMk7/ywFo3tjsGYE0b++IuzlqP3VH2ZMSIsWa+TdS2EY2N9QFZgS6x9QSLreger9NXtDQSHAVph6pCVdv9uQnOYsJ0GjcG2J/2vlHbCXT0V3bCWjc6x4k5XTQPoh/NTByFMXnQBefv5ybaBxMrvGqIOYC0tZxJa9RUKHHZ4eUe9ImjWJz7ix6HE21K58YdJYbQEhbrZokFEgjuXtAeTEOsedTMgiGLxQFRxKpWExPzceoGjMEoyExz7eCBNU2cocS9hDviR8ke7HtebHQ2RnB7+F0seYLtmpCtmCqer6BP3MVYnKoQWIbsDwevEGO5QCmi/JMWuHbwwJrB0ToK5T8ybhX8SDMz7iXLVqn2Kg1Es+A92E7ifrNsV+wQpKoN3OJTpJEuliH7tYpaPL5nywIDZvbueFFZ2onMmimFGutSqKgV6a8ky5YIPgJm2tq1p116ABtYG5HTV9t4mjcneVwr44hiB25vT35qn3SxtmlxtUzEyfIbLSGA/5rtRGbN4GgdhRK3sWWbBR9hM/sEN7XKC6hKztbyXVnuC2/nGCcibb4s7clPwSjw8MU/7UFxo7hE669P0kPWDI6uGRodriiUfU0AS3GB+u2AYCDj6klYZCAfsKO0cNgGj9S3xKXA9QR9g1WyTBaYQS2WU9jyT0tJjUMA4fxGO2Is0jxrhroUCpTePiviAqoDWO5pfZtCXKx+I9hvUelZNmECDZYo6MpSCixJsYtBVBbKzaxhzdDo2u4zVJVeq5LFDK9XQshcZu0RhbqgDYWyWCb8F5UQMkc4olCHL7hhJhTKe51XAa460k8rCCFzkEYUSnu990Uk4e3P90ZtIqRfWDs0um5orCmFwh3TvBmdE0LmIGuHxtbtrqVQCQcly8sd8JZ2LiOEzD7WDY2t2z02oitUUEScly+79BjpdL9CFlQoQvqHdbsDCoW7z4BkiBrXlPwRQrJm3e6x9akKVT3d2LtYADlQjwjpI0qFunBGfpenObfrDhWKkD5ifaMKlfxINDMeuLAOEkJmMY0rlP1kxDMUISTAtEKNN3mG6hj+uTz46VJUR0LIXGb97rENww0rlKUjFYoQEmb98FGFSv65j6gaQEqwolGhCCHTbBhGZygjdoUCP9U2/tibCkVIHxFUqFhFsNhbjmB1/BNC5ggbhsc2DI+XCuUfZGajQlHFCJkj+Ao11S4qlOVFLKgO4g+hjK94Fv9GG0LILGDD8NhGXaG081SDChV7nqJCEdJHYIUqvDOUf2NB86A9dbDYaPaEkFnMhuHxjeafQwXPUPhNTVOuUq20JKlQhPQpGz2FmmpPUKiq0GCN8J/a7cEBzeiNEDJrAArlC0EjCqXJE89QhBCXKYXaM374whtrnaFwR9+s/Oifj3AvKhQhfYSvUM7bk0WhNAUR9Qi/oBWSTlGhCOlT8BlKO/JgGbJ/dNxqxCoUIWSOYFEoIFvVR9oRyagpwIwKRUifAhTKlxvjgSjYqB2awHtf0MbihxAyy9g4PL7J8JYnKpQIPgr52hR8xSuoUIT0LVihHOqrAzgl+Y/EN0eNYGKEkNnHxuHxTSPTCtXpfsXzjXt9fqHQEEK6KBXqczemf4MdIYT0hI0jpULd2nYuhBDSzSYqFCEkW44o1NtUKEJIdlQVqsHfjmX1+zX+vo+Q2cqmkfFNIxPlGarcycYtHfzbT1Fdoojyk6BQVDRC2mdaoSZchSq8XS2eRPDOj7W3E+un1/aEkJ6waWT8uj3pCuWbgacdD9+5qGjA2CglUXET/BNCesKmkQmjQgFiRcpoADrGCkdUDgn+CSE94bo9DSgUMLbsfHBmMbqNSs+/t8clhMwoUwq1t8ZbnmMQ26I1Jvgxeijvg4O1+yeE9ARNoTRRsEsJFiPN0nKfkGeyQlGqCGmTqkJ1uklzGNzYQEHs7Zofsd2RG/+RmHPNOhBCGuC6PRObK2coQgjJiFKhLqJCEUJygwpFCMmXzVQoQki2UKEIIflChSKE5AsVihCSL1QoQki+bN4zsXkvFYoQkiVUKEJIvmzeM7GFCkUIyRMqFCEkXzbvndiy9yAVihCSI1QoQki+bN57kApFCMmULVQoQki2UKEIIflyVKFuokIRQjJjSqH2UaEIIRliVKjYr+tu3N75BvEo5/Wj17RP6xLV0e5ftKxTUtzX4jk2peTFwG+dn31MK9TBaYUC//uDKLfG5WX3b1+UHYjFebBXgn3Zbs/KOF67DTDWJsVSRhw6OXnQsQMXQ818wKjx5FoKZQcnaR9OMr3zHIejUEUls2D5QFlxuS0twCC5dmJH7C3YpVoN/0asDA4B161cUqNZ7DCNBgkFtNgYI/rVdixj61l/OHbjKG+Nd2/dv4ktew9uVRSqStS04Y/GFu1pna2Ih2bPStshFj/BKAnLwpJnoR/f0jYSGK8lN83G4lZcD8nRtQTqODQa15GAmZGPmYmCKBVq/k3b/adGLQATXEc7LP5rRsGZB3d4Ie2oqChiXBAx2D34SPQAogTvgwlHDcFxW7UX/YAxgspo0YO9tHDGkVq8GanTN7coiC17D27dpypUCUjUX17NTpWzRoN9jan6eYqWwYi+ZXBH4eLY8y/0ghuTj/1YwPGKscDsa/WpPsU5aNFBSkHECdImK+iqpkHjHRO614xVl60VhfLXt2We/EbtBkwzqIK2UrUu2JWlPRioI+0Q/8aSUjCZolI9zVJLWIzrz6M4HN9S64WrqiUvJly1t9dTyzA4CscSD8fyNNY4WMNG0vD7NjuK3nJEod4pz1Cx2ftVBjdaCMsqt3exL8fC2x6WWNWsglEaWRBR2wavezw7eCKq98Hd5VRJtPEzKcsF/Ft8BmOlGfirxYjFm20EyLgaS4zrG+AMYxNrHqxQwVo7A7b38j+K1RRTMvaykFZ9cdSaT6cCYnH8AWpm9npqoxPnS3MF2utEAc4tHYP11ALhNCwGNbtjY3tfME1OZbSnQeOErHrC1n0BhXLs/adgSWmLTPzY1AqOmmZ/ZQdXvD/NOEShDDBqQQQLKCaMXYGptGQFomj1sQy56larG/Zpz0dLBoPDGWfZnryxY9nuF1D8iI3TUjJaxrF138Gt+95KPkMV0koFN+AjGJ7ox+gcYwlabfFTtSxBcYBRCwJH1FqwK9+nNmRxAURNLkhVzERMyVh/3KINB2cYlb9WGYs34+oFi6caXbwPGienZLSMY+u+g9dDhfLz0Fqc0YJ1UF1nOJwWwniPvSWbGcNpaVuKY08mtouYVUIIPClgmKKr0iA41/4jXE/syieh1NVH5Z+WZWaxie0rFlxbIRab5AybQVOoaqGD068tQW1Risa+mdOOl2nQCTAQhxZci8DM4ipqQeBB2Z/ie+OQtUexw1eb8hAAABTvSURBVMRlB0XG9cctCcvD8jS45hNi1emrbTFgE7Ugsbcm2brvLV+hwNhAi7/KNT9R/qMaQbsYHZTVuF0tufV6UPan1TmyaEG1vUovcgP2IGLQAxisMSX81CmIc1+nOEHwZNXxjP33NKiLqFDVqM69cUEEe2mN9hBYQTDAM+4ihsYhiu7tAfyDKoHBWobsD1ZsxNmm5RbMXOyCh+AMRDO2WIpdoiydWP54teqJxrFomdd0WzSRWzNc7ylUlY6y0zREA3ujPW6L5UsIXTPb3g02uHPSZjzKIBb72kgLHbUyo57Wt+9HsEIRQkibUKEIIflChSKE5AsVihCSL1QoQki+UKEIIflChSKE5EtVobS/mUYIIe3gK9RUO0WKENI+VChCSL5QoQgh+UKFIoTkCxWKEJIv/NsGhJB8oUIRQvKFCkUIyRcqFCEkX6hQhJB8oUIRQvLl+n1vXf8jKhQhJEuoUISQfKFCEULyhQpFCMmXrRWF4vdDEULywleoqXaKFCGkfahQhJB8oUIRQvKFCkUIyRcqFCEkX7byX70QQrKFCkUIyRcqFCEkX7bue2srVKjYn0ZZ7B2bqBD86RghfYSjUP7fKZ+NCkUVI2SO4CvUVLuoUJZ/ExNUB98g6l/bUKEI6SO27jsIFEo7TzWoULHnKSoUIX0EVqjCO0P5NxY0D9pTB4uNZk8ImcX4CqWdmwrDGQq/qWnKVaqVliQVipA+peYZqkpVaLBG+E/t9uCAZvRGCJk1AIXyhaARhdLkiWcoQohLU2co3NE3Kz/65yPciwpFSB/RyM+hNAUR9Qi/oBWSTlGhCOlTgn/boGrsv+6JNvaPjluNWIUihMwRthgUCshW9ZF2RDJqCjCjQhHSpwCF8uXGeCAKNmqHJvDeF7Sx+CGEzDIsZyj/IwAfhXxtCr7iFVQoQvqWUqEuUn6XV6W+OoBTkv9IfHPUCCZGCJl9VBWq0/2K5xv3+vxCoSGEdLFl38Et+w6WZyhCCMkIKhQhJF+oUISQfKFCEULypapQDf52LKvfr/H3fYTMVqYUau/Bty+q/Lu8wiwxwb/9FNUliig/CQpFRSOkfTSFKrxdLZ5E8M6PtbcT66fX9oSQnlBToXwz8LTj4TsXFQ0YG6UkKm6Cf0JIT9iy16pQgFiRMhqAjrHCEZVDgn9CSE9oRKGAsWXngzOL0W1Uev69PS4hZEaxK5S/jR38p5YWrTHBj9FDeR8crN0/IaQnaAqliYJdSrAYaZaW+4Q8kxWKUkVIm1QVqtNNmsPgxgYKYm/X/Ijtjtz4j8Sca9aBENIAzhmKEEIyggpFCMkXKhQhJF+oUISQfNlMhSKEZAsVihCSL1QoQki+VBTq1rZzIYSQbqhQhJB8oUIRQvJl896DW/ZSoQghWUKFIoTkCxWKEJIvm/ce3EyFIoTkybRCTVChCCH5QYUihOQLFYoQki9UKEJIvlChCCH5snnvhEWhYr+uu3F75xvEo5zXj17TPq1LVEe7f9GyTklxX4vn2JSSFwO/dX724SgU+N8fRLk1Li+7f/ui7EAszoO9EuzLdntWxvHabYCxNimWMuLQycmDjh24GGrmA0aNJ9dSKDs4Sftwkumd5zj8M1SZWbB8oKy43JYWYJBcO7Ej9hbsUq2GfyNWBoeA61YuqdEsdphGg4QCWmyMEf1qO5ax9aw/HLtxlLfGu7fu38R1ukJViZo2/NHYoj2tsxXx0OxZaTvE4icYJWFZWPIs9ONb2kYC47XkptlY3IrrITm6lkAdh0bjOhIwM/IxM1EQvkJVMWoBmOA62mHxXzMKzjy4wwtpR0VFEeOCiMHuwUeiBxAleB9MOGoIjtuqvegHjBFURose7KWFM47U4s1Inb65RUFghSoBifrLq9mpctZosK8xVT9P0TIY0bcM7ihcHHv+hV5wY/KxHws4XjEWmH2tPtWnOActOkgpiDhB2mQFXdU0aLxjQveasepSVSh/fVvmyW/UbsA0gypoK1Xrgl1Z2oOBOtIO8W8sKQWTKSrV0yy1hMW4/jyKw/EttV64qlryYsJVe3s9tQyDo3As8XAsT2ONgzVsJA2/b7Oj6C3XeX8fKjZ7v8rgRgthWeX2LvblWHjbwxKrmlUwSiMLImrb4HWPZwdPRPU+uLucKok2fiZluYB/i89grDQDf7UYsXizjQAZV2OJcX0DnGFsYs2DFSpYa2fA9l7+R7GaYkrGXhbSqi+OWvPpVEAsjj9AzcxeT2104nxprkB7nSjAuaVjsJ5aIJyGxaBmd2xs7wumyamM9jRonJBVTwgqlGPvPwVLSltk4semVnDUNPsrO7ji/WnGIQplgFELIlhAMWHsCkylJSsQRauPZchVt1rdsE97PloyGBzOOMv25I0dy3a/gOJHbJyWktEyDv9fvfijMs6Q5QZ8BMMT/RidYyxBqy1+qpYlKA4wakHgiFoLduX71IYsLoCoyQWpipmIKRnrj1u04eAMo/LXKmPxZly9YPFUo4v3QePklIyWcRxVqBujz1BOizNasA6q6wyH00IY77G3ZDNjOC1tS3HsycR2EbNKCIEnBQxTdFUaBOfaf4TriV35JJS6+qj807LMLDaxfcWCayvEYpOcYTNoClUtdHD6tSWoLUrR2Ddz2vEyDToBBuLQgmsRmFlcRS0IPCj7U3xvHLL2KHaYuOygyLj+uCVheVieBtd8Qqw6fbUtBmyiFiT21iRbpr6nvFuhwNhAi7/KNT9R/qMaQbsYHZTVuF0tufV6UPan1TmyaEG1vUovcgP2IGLQAxisMSX81CmIc1+nOEHwZNXxjP33NKjLlqn/X57hLc+ZadFG+1hzN9p9lgYY4Bl3EUPjEEX39gD+QZXAYC1D9gcrNuJs03ILZi52wUNwBqIZWyzFLlGWTix/vFr1RONYtMxrui2ayK0ZfIWq0lF2moZoYG+0x22xfAmha2bbu8EGd07ajEcZxGJfG2mho1Zm1NP69v2I/5ZHCCG5QIUihOQLFYoQki/l3zb4HBWKEJIbVChCSL5ct2fiur0Te6hQhJAMuW7PxHV7qFCEkCzZVFEo7W+mEUJIO/gKNdVOkSKEtM+mPRObqFCEkDyhQhFC8oUKRQjJFyoUISRfqgrVdi6EENLNxiMKdSEVihCSG1QoQki+bNwzsTEbher1N9UFv7CtfujY7/yrGY6QOU6pUH8tCl6ZX4T0HRtHjipU69Q5QxktGzymWU5e1Y/OvYWqqxwmiJCZZuPIxMaRiZFsFMrZnG29JSWrj1GhjBGr5DBBhMw0VYXC/xkX5UO8d+ztyfj73O4haBZ1YIlVqPKjxY/mGRtToUg/smFkfOPIxMj49BnKV6XCay/vgUKJNhgtbmHb51FSGLSvJq/JmaZQGJwJyIoKRfqRDSPjG0fGNYUqpMagQmn2GKBQ/lM7lnDGpx1JkhJsfAOLSFGhSD8CFEpTnJIGFcrZqJowBT3YifXmj6KmQvlVArEKKhTpT44o1OGqQjkHEKxQQfugQjl6BPatxYklT4DozU9MjOiPFNQNjEU0o0KRfkRUqOLIfeE1VtFUKVahqpZFjCr5fe3Y9Q7LlvPR7xg1dgAVivQjG0bGNygKVaIpTuMKVaT+LizKsjBoh6hKWm6irFuiAP9+r79GVpKQuQBWKCxAFlWK3VRZKRRORuyuVU8zsyjgFH9V2gmZy1QVqiNRWvqNQKGq9vZkfF3ohUJZ/ItiEaVQOAoQL+0pFYr0I84ZqkV8NUzuHmUWPAqldTSev6IUKqEshMxuMlEobaOCM53TN7h1wfYWD4DBbGOTAeJlGWbr/wkhpAVyUKj654KgoFhCVM0sepcQq85IqVCkH2lEoYwvSmk2omVyR7sNFhqN5BywfafTwROUrH3GjvX/K9K4qwZTajEECbC+olC8Mr80qvpo181q9+A6sR9Cgwn4Hx3LZnVfdGWsDxWqfUqFuvDGW6rt/tzETmRT6160TO5ot8HjtWxFzdJpT05GdBJ0CJLXsrKPFyes5ePcA4NgSjhcp6JQCamSFuiRQhmnNtYsapPYQwQXsdGnfUEDD+Lo8JDxfrNs+ORs7e1aYf3kgwkHi4D9a424L2mHOgoFxMKyz4NPo5LRUhIB3pzMNXujZ+w8ONKOeccan/rGUcWxPNKS0cbu2/hTINpXb3CS/uiCsyamSlqg/hlKXDGWjvhR1cbuUOwLMvdXqr/u6y9T30+wmFpHP0M/f7E9GFp8pPnE9lq22hi1KcDZFtLaCAKSB8akNdYPN6xQ4g4BfYOW1YUL0BLzFz0YgjMKf4B2cCm0/DvS7gXZai3GwTpD1iz9rLR2PGTsDWQijqLTPS/BLlq4YBRxpsgMsX54fP0RhQIrDMyTv/LAWje2OwZgTRv74i7OWo/dUfZkxIixZr5N1LYRjY31AVmBLrH1BIut6B6v01e0NBIcBWmHqkJV2/25Cc5iwnQaNwbYn/a+UdsJdPRXdsJaNzrHiTldNA+iH81MHIUxedAF5+/nJtoHEyu8aog5gLS1nElr1FQocdnh5R70iaNYnPuLHocTbUrnxh0lhtASFutmiQUSCO5e0B5MQ6x51MyCIYvFAVHEqlYTE/Nx6gaMwSjITLN+eHz9cANnKHEv4Y74UbIH+54XG52NEdwefhdLnmC7JmQrpornK+gTdzEWpyoEliH7w8ErxFguUIoo/6QF6iuU/8i4VfAjzcy4lyxbpdqrNBDNgvdgO4n7zbJdsUOQqjZwi0+RRrpYhuzXKmrx+J4tCwyY2bvjRWVpJzKiQkWtSH8lWbZE8BEw09auPe3SA9jA2oicvtrG07w5yeNaGUcUO3B7e/JT+6SLtU2Lq2UiTpbfaAkB/NdsJzLr6imUuI0t2yz4CJvZJ7ipVV5AVXK2lu/Kcl94O8c4EWnzZWlPfgpGgYcv/mkPihvFJVp/fZIe4iuUfU0AS3GB+u2AYCDj6klYZCAfsKO0cNgGj9S3xKXA9QR9g1WyTBaYQS2WU9jyT0tJjUMA4fxGO2Is0jyOQoHS22dFXEB1AMs9rW9TiIvVbwT7LSo9yyZMoMESBV1ZSoElKXYxiMpCuZk1iG95Jb1WJYsZXq+EkLnMuuHxde0plMUy4b+ohJA5QqlQF9wwEwrlvc6rAFcd6acVhJA5SCMKpb3e+yKS8Pbne6M2EdIvNKtQuGOaN6NzQsgcpL5CJRyULC93wFvauYwQMvtYu3ts3fD4sK5QQRFxXr7s0mOk0/0KWVChCOkf1u4eWzc8BhQKd58ByRA1rin5I4RkTR2Fqp5u7F0sgByoR4T0EWt3j63dnX6Gcsyi3u/supaQEiFkLtCsQiU/Es2MBy6sg4SQWcy0Qo01plD2kxHPUISQAGuaVqjyo12eilRdI4TMcXqhUJaOVChCSJiqQiX/3EdUDSAlWNGoUISQadbsHluze2x47PBnpTOUEbtCgZ9qG3/sTYUipI8IKlSsIljsLUewOv4JIXMER6H8g8xsVCiqGCFzhDVDY2t2j+2uKNRUu6hQlhexoDqIP4QyvuJZ/BttCCGzgGuhQmnnqQYVKvY8RYUipI/AClV4Zyj/xoLmQXvqYLHR7Akhs5hrh8bWDHUplHZuKgxnKPympilXqVZaklQoQvqUa4fGrh1KP0NVqQoN1gj/qd0eHNCM3gghswagUL4QNKJQmjzxDEUIcVnd0BkKd/TNyo/++Qj3okIR0kesHhqdVqgvpP8cSlMQUY/wC1oh6RQVipA+ZfXQ6Oqhsd1jh8//gvy3DarG/uueaGP/6LjViFUoQsgcYfXQ6OqhUaxQQLaqj7QjklFTgBkVipA+ZdXQ6Oqh0SFJoXy5MR6Igo3aoQm89wVtLH4IIbOMVYNTCvUX/JYnKpQIPgr52hR8xSuoUIT0LasGR1fpCuVQXx3AKcl/JL45agQTI4TMPlYNjq4anFaoTvcrnm/c6/MLhYYQ0sXKikK1nQshhHRDhSKE5Mu0Qo1SoQgh+bFycHQlFYoQkicrKgrV4G/H+Ps1QkgDrOg+Q5XKYpSY4N9+aihNQkhfsmLX6MrBrr8Ppf2dA/FshWWIIkUIqcURher6boOpRxaF8s2inhJCCGLFrtFVg6POtwBPPbKLC0WKENITpv62we6xwxfUUChgTHkihKSzcnB09dDYsEGhtLc8xwC3EEJIBKsGR68dGhseO3zhDYHf5QUVqqhxBCOEEIHVg2Nrh8ZGxg5feMOtnW7SHGoCRwgh0awZGlu3e3xk/PDnbry17VwIIaSbtbvHNwyP7xl/+yIqFCEkN9bvHt80PLGXCkUIyZCNwxObRyZ2vPGXW7/zyMU3br/4pq5r/k3b59+4ff6N2+fftP3im7ZfctP2S27afukXb1vwxdsuG7ht4cBtiwZuXzxw+5Kbb7/85juWbrtj2bY7lm27Y/mX/nHquuLItfxL/7j8S3csP2IwdS3ddsfSbbdffvPtl998+5Kbb1ty821Lbt6+eODWxQO3LB74xpKBry8Z+NqSgb9fMvDVJQNfWTLw5SUDX14y8HdLBr6yZOArSwa+umTga4sHvr544BuLB25ZNHDLooFbFw1sXzRw29S1uLxuvm3xtPPANZWJcy29+fal24RrWdPXctt1hXh96eh1Zc+vOxq9jnq+QrvkUd9x5ELlkqt9s3stla6ulTBw2xLlWtx9Leq+Fn4RXZdVr5tuu+ym7Qu861LnuvHodUn3dfHR69bymi9eNwSui4zXF45enzNdt2jXhdXr+qNXcd3IxNY9B//XL37/5JuHf3zwnfL60ZGrbPnJwXd+cvCdn771zr++9e7P3nr3mcl390++t//Qe51D7/380PvPHnr/2d++/9z09d/P/fa/j9y//+xv33/20PvPHnr/54fe//mh935+6L3OkWv/off2H3p3/+S7+yffeWbynWcm335m8vAzk395ZvLP+yf/tH/yj/sn/7B/8g/7J3+/f/J3+yd/d+TjH/dP/umZyT8/M/lfz0wefnry7acn33568p2p65nJd51r/6HA1em6jqb3c+96trnrufL6bfj6N/3693au9w0GwSsiIqhAeT13CF2WSXGme3olTL47de3Xr+nF9tb09bR3/Wz6eudnb73zs4PC9a/e9dPua2oD/mTCvX7sX+Nv/0i69hmvMffam3TtOXod3jMafY2MHh4ZPfz/AU1wCZgM73iHAAAAAElFTkSuQmCC" alt="" />

解决代码:

增加了setlocal enabledelayedexpansion,再改%yn%为!yn!。

@echo off&setlocal enabledelayedexpansion 

echo.
set choice=
::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::程序包上传FTP::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::
if "%choice%"=="" (
echo 请确认你已经把程序包放到本地指定目录下(y/n):
set /p yn=
echo !yn!
if /i "!yn!"=="n" (
set yn=
goto end
)
echo 开始上传本地最新的程序包到服务器上...
::call Upload_Ftp.bat
echo 上传完毕
) :end
echo 脚本终止!

查了一个下午,发现原因如下:

批处理有一种机制是变量延迟,比如

@echo off
set a=
set a=&echo %a%
pause

打印的结果会是a=4,而不是a=5,因为在读取了一条完整的语句(set a=)之后,不立即对该行的变量赋值,而会在某个单条语句(set a=5&echo %a%)执行之前再进行赋值操作。也就是说“延迟”了对变量的赋值。

在cmd执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个%括起来的如%value%类似这样的变量,就会对其进行识别,并且查找这个变量对应的值,再而将值替换掉这个变量,这个替换值的过程,就叫做变量扩展,然后再执行命令。一般是对静态变量进行值的替换。

setlocal enabledelayedexpansion 就是延迟本地环境变量扩展,在cmd执行中,发生动态的一种情况是在 for语句,if语句中进行变量赋值,在动态变量赋值过程中,如果不主动开启延迟本地环境变量扩展,是不会对变量进行预处理的。

在上文第一段代码中,由于在语句(if /i "!yn!"=="n")之前没有对yn变量进行赋值,所以得到“ECHO处于关闭状态”的结果。

比如上方第三段代码,如果启动了变量延迟并把set a=5&echo%a%改为set a=5&echo!a!,所以批处理能够感知到动态变化,即不是先给该行变量赋值,而是在运行过程中给变量赋值,因此此时a的值就是5了。

所以我们就要在第一段代码中加入setlocal enabledelayedexpansion语句,开启延迟本地环境变量扩展,使得yn变量在if的动态赋值过程中能够被赋值。

同时注意开启延迟本地环境变量扩展后,变量需要用!!进行引用。

解决set /p yn= 接受键盘输入导致ECHO 处于关闭状态的问题的更多相关文章

  1. Java接受键盘输入

    import java.util.Scanner;//方法1 import java.io.BufferedReader;//方法2 import java.io.IOException;//方法3 ...

  2. python Tkinter接受键盘输入并保存文件

    最近想用python写个切换host的小工具,折腾了好几天,终于实现了第一步. 采用Tkinter编程,text控件接受输入,然后点击save按钮,保存内容到当前文件夹下,文件名为hostb,如下两张 ...

  3. 解决 minicom 不能接收键盘输入问题

    今天突然minicom 不能接受键盘输入了.早上的时候在其他设备上不能识别usb转串口的设备,重新启动电脑后,恢复正常了.下午又出现minicom 不接收键盘输入. 百度了一下解决了. 解决方法 由于 ...

  4. 解决JAVA单步调试键盘输入被JDB占用的问题

    解决JAVA单步调试键盘输入被JDB占用的问题 问题来源: 在完成本周任务时,编写的代码中含有Scanner类,编译及运行过程均正确,但使用JDB单步调试时,运行到输入行无法在JDB内部输入变量值. ...

  5. 解决键盘输入被JDB占用的问题

    解决键盘输入被JDB占用的问题 本周的任务"迭代和JDB"在使用JDB调试时需要键盘输入数据,但我在正确的位置输入数据后发现JDB提示如图所示的错误. 上网查找后得知该错误的产生是 ...

  6. 通过VNC连接远程服务器,然后登陆服务器上的虚拟机,出现键盘输入问题的解决方法

    前几天由于要在服务器上装一个虚拟机,然后就选择了vmware workstation,装好之后,进入虚拟机中的centOS系统,发现键盘上的Cpas Lock键不起作用,按下之后还是输入小写,而且按住 ...

  7. SendInput模拟键盘输入的问题

    SendInput模拟键盘输入的问题  http://www.cnblogs.com/yedaoq/archive/2010/12/30/1922305.html 最近接触到这个函数,因此了解了一下, ...

  8. WPF进阶技巧和实战09-事件(1-路由事件、鼠标键盘输入)

    理解路由事件 当有意义的事情发生时,有对象(WPF的元素)发送的用于通知代码的消息,就是事件的核心思想.WPF通过事件路由的概念增强了.NET事件模型.事件由允许源自某个元素的事件由另一个元素引发.例 ...

  9. java利用Scanner获取键盘输入

    首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...

随机推荐

  1. Linux下套接字具体解释(三)----几种套接字I/O模型

    參考: 网络编程–IO模型演示样例 几种server端IO模型的简介及实现 背景知识 堵塞和非堵塞 对于一个套接字的 I/O通信,它会涉及到两个系统对象.一个是调用这个IO的进程或者线程,还有一个就是 ...

  2. POJ 3321 Apple Tree DFS序+fenwick

    题目大意:有一颗长满苹果的苹果树,有两个操作. 1.询问以一个点为根的子树中有多少个苹果. 2.看看一个点有没有苹果,假设没有苹果.那么那里就立即长出一个苹果(= =!):否则就把那个苹果摘下来. 思 ...

  3. 单片机C语言实现的采用DS18B20的温度检测装置

    这几天老师布置了一个课程设计题目:采用51单片机控制的DS18B20温度检测系统.大概花了我一个礼拜的时间,幸好我的C语言学得还可以,最后还是让我搞出来了,真是高兴,我是采用STC-52单片机和DS1 ...

  4. Firemonkey 自定义Button的Style

    这篇文章模仿HTML中基于CSS的Button,通过Style实现自定义样式的Button. 前言 主要模仿的CSS代码如下: CSS Code 123456789101112131415161718 ...

  5. jfinal常见问题

    2014年的时候,学过一段时间的JFinal,当时主要是了解这个框架,研究了下源码,看懂了部分.今天,2015年2月7日,弄了一下午的JFinal,把未来要上线的一个官网项目,迁移到了JFinal.下 ...

  6. Android应用开发学习笔记之绘图

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 一.绘图常用类介绍 在Android中绘图时,常用到的几个类是Paint.Canvas.Bitmap和Bitmapt ...

  7. javascripte (三) 改变html图像

    <script> function changeImage(){ element=document.getElementById("myimage") if (elem ...

  8. 14.4.1 InnoDB Startup Configuration

    14.4 InnoDB Configuration :InnoDB 配置: 14.4 InnoDB Configuration 14.4.1 InnoDB Startup Configuration ...

  9. SharePoint 内容部署-PowerShell

    1. 创建一个新的内容部署路径 New-SPContentDeploymentPath –Name "Marketing Internet Content" –SourceSPWe ...

  10. TCP/IP详细解释--TCP/IP可靠的原则 推拉窗 拥塞窗口

    TCP和UDP在同一水平---传输层.但TCP和UDP最不一样的地方.TCP它提供了一个可靠的数据传输服务,TCP是面向连接的,那.使用TCP两台主机通过第一通信"拨打电话"这个过 ...