
批處理開啟延遲變量后無法下載帶有感嘆號的文件
這是我弄的一個思路,可以正常復制文件,并且復制失敗的時候會保留失敗的路徑單獨放到一個txt文檔。但是唯一的缺點是由于開啟了延遲變量,導致屏蔽了帶有感嘆號的文件,比如我下載2!2.doc,他就會讀取成22.doc,然后就理所當然的無法下載了。不僅是文件名,路徑帶有感嘆號也是。我查過有延遲變量的開啟和關閉方法,但是如果把開啟和關閉的語句寫在循環(huán)里就有問題,具體情況請大佬復制代碼去試試吧nclick="copycode($('code0'));">復制代碼
- @echo off
- setlocal enabledelayedexpansion
- set name=C:UsersAdministratorDesktop11
- for /f tokens=* %%a in ('type test.txt') do (
- echo,%name%%%a>>2.txt
- )
- for /f tokens=* %%i in ('type 2.txt') do (
- xcopy %%i C:UsersAdministratorDesktop12
- if !errorlevel! neq 0 (echo %%i>>失敗.txt)
- )
- del 2.txt
- pause

