我有一个来自nt / xp的旧批处理脚本,它从Context Menu运行。它的作用是当我选择一个文件夹并运行cmd时,它将在我右键单击的活动文件夹中创建一个临时文件夹。然后将运行一个程序来转换原始文件夹中的所有tiff并输出新图像在临时文件夹中。我使用Windows 7的新功能,我在工作文件夹中打开CMD.exe时遇到问题。当我使用脚本并右键单击它时,它转到/windows/system32
而不是我点击的文件夹。
这里是reg文件和批处理,以显示我想要做的事情:
REG文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\BW Comp/OV]
@="B&W Compress/OV"
[HKEY_CLASSES_ROOT\Folder\shell\BW Comp/OV\Command]
@="C:\\Program Files\\ISRU\\bin\\bwcov.cmd"
BATCH文件:
mkdir temp
FOR %%j in (*.tif) do mr_file -T -S 128 -C j -Q 3 -K g %%~nj.tif temp\%%~nj.tif
这是一个非常简单的设置,但现在使用窗口7,我无法在制作DIR或处理图像时使用批处理中的工作文件夹。
答案 0 :(得分:0)
试试这个批处理文件:
@echo off
pushd "%~1"
mkdir temp
FOR %%j in (*.tif) do mr_file -T -S 128 -C j -Q 3 -K g "%%~nj.tif" "temp\%%~nj.tif"
popd
如果mr_file
是批处理文件,则名称前需要call
。
此批处理文件也可以在SENDTO
菜单中使用
但注册表文件对我来说很奇怪。
答案 1 :(得分:0)
Foxidrive,我尝试了你的建议,并且使用右键单击的文件夹创建临时文件夹。
以下是新文件。
批处理文件(我使用了一个名为make_pry而不是mr_file的新程序:
@echo on
pushd "%~1"
Title %~f1
mkdir temp
FOR %%j in (*.tif) do make_pyr %%~nj.tif -TIFF -JPEG -QFACTOR 97 -tile 128 -out temp\%%~nj.tif
和Reg File(这个文件也被更改了,这是我可以让mkdir命令批量工作的唯一方法。如果我删除%1,/ a或/ c它将不起作用:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\BWCOV]
@="BW Compress OV"
[HKEY_CLASSES_ROOT\Folder\shell\BWCOV\command]
@="cmd.exe /a /c Inpho_bwcov.cmd %1"