0
我有一個Windows啓動筆,它在啓動時運行批處理文件,它只需要從文本文件中複製大量文件機器到引導筆。修改文本文件字符串並使用結果來執行xcopy
我做我的電腦上運行測試製作引導筆之前,認爲這應該工作
@echo off
set DRIVE=c
for /F "tokens=*" %%a in (e:\test\files.txt) do call :amendDirectoryAndCopy %%a
pause
:amendDirectoryAndCopy
set DEST=%~1
set DEST=%DEST:~1%
echo set DEST=%DRIVE%%DEST%
echo xcopy %~1 %DEST%
所有應該做的是爲每個文件,刪除該字符串的第一個字符,添加「C」到提供目標目錄的開始,然後執行xcopy。我找到輸出混淆爲「@echo設置 「DEST =%DRIVE %% DEST%」 輸出什麼,我會想到,C上的正確目錄:如
C:\測試\文件夾\ file.txt的
但XCOPY輸出
XCOPY E:\測試\文件夾\ file.txt的:\測試\文件夾\ file.txt的
盤符在目標上缺少
差不多。我現在有目的地爲「c:\ test \ folder \ file.txt 我搜索瞭如何從變量中刪除空格,但由於某種原因,這似乎不適用於我」set detination =%destination:= %「 編輯 - 確定格式不斷糾正我所寫的內容,但基本上是在字母c – 2012-02-07 13:20:26
後的空格,現在再次檢查'set drive = c'這一行並確保'c'後面沒有空格。 。批處理腳本對任何地方的空白都非常敏感,這對我有幫助嗎? – kikuchiyo 2012-02-07 14:24:33
在vim中,如果我覺得它是安全的,我通常會選擇其中的一種:':%s/\ + $ // g' 唯一的另一種可能性是我更新了答案來處理這個問題 – kikuchiyo 2012-02-07 14:26:06