如何将linux批处理文件转换为Windows bat文件?

问题描述:

我需要将一个linux批处理文件转换成一个windows bat文件。如何将linux批处理文件转换为Windows bat文件?

for FILE in *.tif 
do 
    NEWFILE=../lowres/${FILE} 
    gdal_translate -outsize 25% 25% $FILE $NEWFILE 
done 

我不知道如何在windows bat文件中设置变量。

感谢您的帮助,

欢呼声,

罗布

我不知道什么${FILE}呢,下面运行;

gdal_translate -outsize 25% 25% "XXX.tif" "../lowres/XXX.tif" 

for each .tif in the current directory;

@echo off 
setlocal enabledelayedexpansion 
for %%f in (*.tif) do (
    set newfile=../lowres/%%f 
    gdal_translate -outsize 25%% 25%% "%%f" "%newfile%" 
) 
+0

$ {FILE}保持输出文件名相同,输入 – 2012-01-31 11:06:17

+0

非常感谢许多! – 2012-01-31 11:37:45

@echo off 

for %%A in (*.tif) do @call somecommand -outsize 25%% 25%% "%%~nxA" "../lowres/%%~nxA" 

REM or 

setlocal ENABLEDELAYEDEXPANSION 
for %%A in (*.tif) do (
    set newfile=../lowres/%%~nxA 
    call somecommand -outsize 25%% 25%% "%%~nxA" "!newfile!" 
) 

有关〜变量扩展和set /?关于延迟扩展细节更多细节运行for /? ...

+0

〜nxA?不知道这是怎么回事......它会产生错误,但不幸的是 – 2012-01-31 11:38:24

+0

@RobertBuckley %% A是for命令的输出(路径取决于你在“in(xyz)”部分中传递的内容),%%〜A去掉引号并启用其他事物的扩展,nx = name + extension。 %% A可能适用于你的情况。做“调试”你可以用echo替换呼叫,看看你会执行什么... – Anders 2012-01-31 11:55:23