2013-10-17 157 views
0

我是新來的批處理文件,我只需要做一件非常簡單的事情。 我想一個批處理文件來採取一個文本文件,它是文件路徑的列表 -初學者問題(格式化,「此時文件路徑出乎意料」)

Filelist.txt中

開始文件>>

○:\ X \ Y \ Z^\局BOM啓4.xls >>文件

○:\ X \ Y \ U >>整個文件路徑

<文件結束

,然後複製文件(而不是文件的名稱,以澄清)給定的位置。 說批處理文件在O:\ X \ Y \ Z(文本文件也是如此),我想將所有這些文件複製到該文件夾​​中。我已嘗試使用此代碼

關閉@echo

組輸入= 「○:\ X \ Y \ž\ Filelist.txt中」

組DEST =%CD%

FOR/F %%我在 「輸入」 做XCOPY 「%% i」 的%DEST%\/S

做什麼,我需要做的,但我得到上述錯誤。我對批處理文件做的很少,所以更正解釋將非常感謝! 謝謝!

回答

0

首先,用你的變量 「輸入」 寫%input%

其次,對於for正確的格式,你必須把它周圍的括號:

for /f %%i in ("%input%") do xcopy "%%i" %dest%\ /S 
0

1日。 (輸入)

在第一個set你有雙引號錯誤的價值,格式是非常情況下,而不是現在。

2nd。 (DEST)

您需要確保以雙引號每"variable=value"(至少當它們是字符串變量,當可以包含空格)

但反正可以簡化代碼,一點不取決於dest變量,

第3。 (有關)

內部fordest變量具有相同的引用問題,也正在鍵入的不正確可變input,和for語法可以提高通過agroupping使用agroupation運營()的命令,以防止未來的錯誤。

下面是代碼:

@echo off 

set "input=O:\X\Y\Z\Filelist.txt" 

REM set "dest=%cd%" 

for /f "Usebackq Delims=" %%i in ("%input%") do (
    xcopy "%%i" ".\" /S 
) 

PS:請原諒我的英語。