2017-09-01 104 views
0

我想連接批處理文件中的字符串,因爲我需要在批處理文件(.bat)中進行參數設置以頻繁使用路徑。因此,而不是寫:批處理文件腳本連接字符串

ren "C:\Folder\Sub Folder\filename.ext.tmp" "C:\Folder\Sub Folder\filename.ext" 
del "C:\Folder\Sub Folder\filename.ext.tmp" 

我想寫點東西像

set pathString="C:\Folder\Sub Folder\" 
ren pathString+"filename.ext.tmp" pathString+"filename.ext" 
del pathString+"filename.ext.tmp" 

這是莫名其妙可行?如果是這樣如何?謝謝!

回答

0

你的榜樣的命令應該是:

Set "pathString=C:\Folder\Sub Folder" 
Ren "%pathString%\filename.ext.tmp" "filename.ext" 

有沒有需要重命名目標路徑,因爲它並沒有改變,(因此沒有必要用%pathString%加上前綴)。然後,不需要刪除剛更名的文件,因爲重命名後它不再存在。

0

這是非常基本的批量變量的使用,只記得正確使用引號:

set pathString=C:\Folder\Sub Folder 
ren "%pathString%\filename.ext.tmp" "%pathString%\filename.ext" 
del "%pathString%\filename.ext.tmp" 

話雖這麼說,你的示例代碼不會使一個很大的意義,因爲

  • 你試圖刪除一個不存在的文件,因爲您將其重命名爲其他內容?

  • 你認爲你需要刪除它之前重命名該文件?

刪除之前重命名只有在您嘗試刪除鎖定文件並且刪除失敗可接受時纔有意義。這樣做會是這個樣子:

@echo off 

REM Set up some things for this example: 
md "%temp%\batchtest" 
echo.blah blah > "%temp%\batchtest\filename.ext" 

REM Actual code: 

set pathString=%temp%\batchtest 
ren "%pathString%\filename.ext" "filename.ext.del" 
del "%pathString%\filename.ext.del" 
+0

我得到的錯誤是「該命令的語法不正確。」 – aragorn

相關問題