2013-03-22 27 views
0

,我複製一個PDF文件(my_test01)到輸入文件夾,然後我會等待,去輸出文件夾複製到文件名中的輸出文件加上準備(my_test01複製命令-ready)被髮送到另一個位置,腳本沒有找到輸出文件,因爲它需要與輸入文件相同的文件名。與變量下面我的批處理腳本

copy /b "%file%" "W:\IP5000_2-up\Input Folder" 
TIMEOUT /T 60 /NOBREAK 
W: 
cd \IP5000_ING_2-up\Processed Docs on Success 
copy /b "%file%" "\\10.0.238.209\Duplex\18inch_2UP_Pinless" 
+0

請出示從'回聲%文件%'輸出。 – Endoro 2013-03-22 18:26:04

回答

0

您可以使用參數替換在文件的基本名稱和擴展名之間插入-ready。有關詳細信息,請參閱help callhelp for的最後幾頁。

下面是一個使用call向下突破一個完全合格的路徑到其組件的解決方案,讓您可以插入你所需要的。這對你有用嗎?

copy /b "%file%" "W:\IP5000_2-up\Input Folder" 
TIMEOUT /T 60 /NOBREAK 
call :appendready "w:\IP5000_ING_2-up\Processed Docs on Success\%file%" processed 
copy /b "%processed%" "\\10.0.238.209\Duplex\18inch_2UP_Pinless" 

goto :EOF 

:appendready <filename> <var_to_populate> 
set "%~2=%~dpn1-ready%~x1" 

僞代碼,該:appendready子程序是這樣的:

set $2 = $1(drive:\path\name) + "-ready" + $1(extension) 
+0

文件名中的擴展名已由另一個進程添加。我需要第二個複製命令來查看帶有添加就緒字的原始文件名(mytest01)到輸出文件名(mytest01-ready)。 – Patron0119 2013-03-22 20:42:27

+0

@ Patron0119 - 那麼'mytest01'沒有擴展名?在這種情況下,您只需將'copy \ b「%file%\」\\ 10.0.238.209 \ Duplex \ 18inch_2UP_Pinless「'更改爲'copy/b」%file%-ready「」\\ 10.0.238.209 \ Duplex \ 18inch_2UP_Pinless「'在您的原始腳本中。 – rojo 2013-03-22 20:43:40