На самом деле, вещи, которые вы упомянули, тривиально перенести в пакетный файл Windows. Хотя вы, конечно, можете использовать Windows-порты всех инструментов Unix (или даже использовать уровень эмуляции для еще большего удовольствия), это несложно сделать:
~ для домашней папки пользователя
Профиль пользователя находится в переменной окружения %USERPROFILE%
, так что следующее должно сделать это:
cd %USERPROFILE%\Documents\DropFolder
Итерация по набору файлов
Здесь поможет команда for
:
for %%i in (*.xml) do -Xss650K -Xms128m -Xmx2048m -jar ... %%i
Очевидно, что вам нужно адаптировать путь к JAR-файлу.
А for
имеет много других применений, помимо этого, так что посмотрите также help for
.
basename
Это нужно делать либо в подпрограмме, либо в цикле for
, поскольку следующий синтаксис специфичен для переменных или параметров цикла. Он не будет работать с переменными окружения как есть. Вы можете получить то, что выдает basename
, используя %%~ni
, где %%i
- переменная цикла или %~n1
, если %1
- аргумент подпрограммы или пакетного файла. Таким образом, следующее, вероятно, сделает то же самое:
copy "%%~ni.xml" "%USERPROFILE%\Documents\ReadyForServer\%%~ni\"
В справке по для
есть больше информации по этим вещам в конце.
Посмотрите на powershell. На этом сайте есть много примеров:
http://technet.microsoft.com/en-us/scriptcenter/powershell.aspx
Вы должны конвертировать вручную. Изучите пакетные команды, а затем сделайте эквивалент. В качестве альтернативы вы можете использовать GNU win32 unix инструменты.
Оболочка windows - это другой язык сценариев, чем оболочка bash. Вам нужно будет перенести его. В качестве альтернативы вы можете использовать что-то вроде cygwin или mingw для запуска оболочки bash на windows.
Помощь F1 в windows удивительно полезна при написании пакетных файлов в стиле DOS. На рабочем столе windows нажмите F1 и найдите batch. Ссылка "Использование пакетных параметров" довольно полезна для выполнения странных трюков в DOS. Страница "Использование пакетных файлов" также довольно хороша. Как отмечают другие авторы, вам лучше избегать пакетного языка в качестве языка реализации, но если вы должны, вы должны.