2011-11-30 29 views
1

我在谷歌上爲shell腳本找到了下面的代碼。如果我擺脫bin/bash部分,我可以在Windows上將它用作.bat文件嗎?或者我應該安裝cygwin?shell腳本 - 作爲一個.bat文件可以嗎?或者cygwin更適合?

#!/bin/bash 


VIDEOS_DIR=/PATH/TO/JOOMLA/hwdvideos/uploads 
YAMDI=/usr/local/bin/yamdi 

for i in $VIDEOS_DIR/*.flv 
do 
    $YAMDI -w -i $i -o ${i}.tmp 
done 

回答

1

不,正如其他評論者所說。

但是,只是爲了好玩,這裏是NT命令腳本的等價物。

@echo off 
set VIDEOS_DIR=c:\path\to\joomla\hwdvideos\upload 
set YAMDI=c:\usr\local\bin\yamdi.exe 

for /r %VIDEOS_DIR% %%i in (*.flv) do (
    %YAMDI% -w -i %%i -o %%i.tmp 
) 

語法顯着不同,如您所見。

+0

你能告訴我循環裏面的線是幹什麼的嗎?它打破了我。 – TPR

+0

基本上,循環內部的行正在轉換爲(「C:\ yamdi.exe」-w -i i.tmp),這是我猜的錯誤。 – TPR

+0

對'i'變量的第一次引用錯誤,缺少'%'。這是固定的。它應該每次放置匹配的FLV文件以代替'%% i'。不管這是否正確,我不能說,但這正是原來的'sh'腳本所做的。我還會注意到,如果直接粘貼到'cmd'提示符下(它必須存儲在文件中並調用),這將不起作用。 – Sorpigal

3

不。這是使用Windows批處理文件不支持的特定Bash語法。您最好的選擇是使用cygwin或將其轉換爲適當的批處理文件語法。

2

否;批文件使用不同的語法。

您可以將其轉換爲Windows命令行語法或在bash中運行它。

2

你需要Cygwin。這是嚴格bash腳本內容。您可以將其重寫爲批處理文件,但yamdi無法正常工作。 (我不知道yamdi是什麼,但它很可能是一個Linux應用程序。)

+0

yamdi是一個命令行工具,所以不用擔心這一點。 – TPR

相關問題