Bir klasördeki tüm .csv dosyaları arasında yineleme yapılması ve her birini aşağıdakilerle yapması gereken bir toplu iş dosyası yazdım: Herhangi bir dosyayı üzerine yazarken, farklı bir klasörde MOVE/Değiştir'i solar.csv olarak yeniden adlandırın. Aynı adı, solar.csv kullanan bir hizmeti başlatın, 7,5 dakika bekleyin, servisi durdurun. Bu, klasördeki her bir .csv dosyası için yapılmalıdır. Her adımı da yaptığı gibi rapor etmeyi isterim. İşte şimdiye kadar benim kodudur:Bir toplu iş dosyasında hata ayıklama
@ECHO OFF
CD "D:\PI Data Import\Data"
For /R %%G IN (*.csv) DO (
MOVE /Y %%G.csv "D:\PI Data Import\solar.csv"
ECHO "%%G.csv Moved"
NET START RDBMSPI4
ECHO "Service Started"
ECHO "Waiting"
TIMEOUT /T 450 /NOBREAK
NET STOP RDBMSPI4
Echo "%%G.csv Complete"
)
Benim komut sözdizimi doğru olmadığını bildirir, ancak tam olarak hangi bölümünün söylemez. FOR/R hattının biraz yanlış, belki MOVE komutunu ve muhtemelen komut bölümünde %% G'yi nasıl ele aldığımı kabul ediyorum.
Tek ihtiyacım olan bir sözdizimi kontrolü ve bu sunucu üzerinde çalışacağından bu yana çok fazla altın çok fazla test etmekten korkuyorum. Tüm yardımlar takdir edildi, Batch dosyaları üzerinde çalışma konusunda hiç tecrübem yok.
Genel hata ayıklama işlemi için, hata oluşturulduğunda işlenmekte olan son komutu görebilmek için '@ECHO OFF' komutunu kaldırmanızı/yorumlamanızı öneririz. –
CSV dosyalarınızdan herhangi birinde boşluk varsa, 'MOVE' komutunda bir hata alırsınız. Emin olmak için dosya isimleri koyduğunuzdan emin olun: '" %% G '' –