2016-04-07 16 views
1

.bat dosyasında dinamik bir dosya yolu oluşturmak istiyorum. Şu anda dosya yolu şuna benzer:Gruptaki dizeleri ve değişkenleri birleştirme

"C:\FolderA\FolderB\FileA.xlsx" 

Böyle bir şey üretmek için dosya adında bugünün tarihi dahil etmek istiyorum: Ben bir değişken oluşturma ve ardarda eklemek denedi

/exp:"C:\FolderA\FolderB\FileA " & date() & ".xlsx" /T` 

sert kodlu kısmı ile ancak çalışmıyor:

toplu karakterleri ve değişkenleri ve tırnak üzerinde birleştirerek kuralları nelerdir
set Mydate=!date:~10,4!!date:~7,2!!date:~4,2! 
/exp:"C:\FolderA\FolderB\FileA "&%Mydate%&".xlsx" /T 

? Not Defteri kullanarak toplu işlerde nasıl hata ayıklanır?

+0

Neden DOS kullanıyorsunuz? – Radmation

+2

MS-DOS yerine Windows Komut İstemi (cmd.exe) kastediyorum. MS-DOS'ta dosya adı uzantıları> 3 harfine sahip olamazsınız, bu nedenle örnek olarak bir şey.xlsx adlı dosyayı oluşturamazsınız. –

+0

@Radmation: Burada alternatif yok çünkü – ProtoVB

cevap

4

?

/exp:"C:\FolderA\FolderB\FileA "&%Mydate%&".xlsx" /T 

?

Bu, cmd sözdizimi değildir. Bir değişken ayarlamak için set komutunu kullanın.

için - (o cmd çalışmıyor yapmak gerekiyordu ne olursa olsun /exp: veya /t)

set "var=C:\FolderA\FolderB\FileA %Mydate%.xlsx" 

: birleştirme sembolleri gibi bir şey kullanın: Ayrıca (olmamalıdır okuyun) yok, bitiştirmek için Bir dosyayı yeniden adlandırın, ren (veya uzun form rename) kullanın. Bir komuta yardım almak için command /? kullanın. rename /?

+0

Yazdığınız için teşekkür ederim, bu kuralları bilmiyordum (bitiştirme sembolleri, tırnak işareti kullanımı yok .. .) Ben hala böyle bir betik hata ayıklamak için ilgileniyorum (hat satır koşmak). – ProtoVB

+1

'batch' çok basittir. Hata ayıklama temelde "echo" ve "pause" ile elle yapılır – Stephan

+0

Bu yeterli; Teşekkürler – ProtoVB