2016-06-13 16 views
0

バッチスクリプトを使用して新しいファイルを書きたいと思います。私はバットにファイル名のプロンプトを表示させたいと思っています。私は "set/P file = Enter File Name:"とし、その名前をファイルの名前に入れます。ファイルをそのファイル名で保存します..smil 私が持っているものを参照してください、これは正しくはありませんが、うまくいけば私は何をしようとしているのかを見ることができます。バッチファイルを使用してファイルを作成するには

セット/ Pファイル=入力ファイル名:

<?xml version="1.0" encoding="UTF-8"?> 
<smil title="%file%"> 
<body> 
    <switch> 
     <video height="1080" src="%file%-1080.mp4" 
     systemLanguage="eng" width="1920"> 
      <param name="videoBitrate" value="5000000" valuetype="data"></param> 
      <param name="audioBitrate" value="320000" valuetype="data"></param> 
     </video> 
     <video height="720" src="%file%-720.mp4" 
     systemLanguage="eng" width="1280"> 
      <param name="videoBitrate" value="3000000" valuetype="data"></param> 
      <param name="audioBitrate" value="192000" valuetype="data"></param> 
     </video> 
     <video height="540" src="%file%-540.mp4" 
     systemLanguage="eng" width="960"> 
      <param name="videoBitrate" value="1500000" valuetype="data"></param> 
      <param name="audioBitrate" value="128000" valuetype="data"></param> 
     </video> 
     <video height="360" src="%file%-360.mp4" 
     systemLanguage="eng" width="640"> 
      <param name="videoBitrate" value="750000" valuetype="data"></param> 
      <param name="audioBitrate" value="96000" valuetype="data"></param> 
     </video> 
    </switch> 
</body> 
</smil> 
+0

関連します。http://stackoverflow.com/questions/60034/how-can-you-find-and-replace-text-in-a-file-using-the-windows-command-line- envir –

答えて

0

私はそれが複数行のXMLを動作させる方法を見つけ出すことができなかったので、私はこのモンスターで終了:

@echo off 

set /p name=Enter File Name: 

set file=C:\Temp\%name%.smil 

echo ^<?xml version=^"1.0^" encoding=^"UTF-8^"?^> > %file% 
echo ^<smil title=^"%name%^"^> >> %file% 
echo ^<body^> >> %file% 
echo  ^<switch^> >> %file% 
echo   ^<video height=^"1080^" src=^"%name%-1080.mp4^" >> %file% 
echo   systemLanguage=^"eng^" width=^"1920^"^> >> %file% 
echo    ^<param name=^"videoBitrate^" value=^"5000000^" valuetype=^"data^"^>^</param^> >> %file% 
echo    ^<param name=^"audioBitrate^" value=^"320000^" valuetype=^"data^"^>^</param^> >> %file% 
echo   ^</video^> >> %file% 
echo   ^<video height=^"720^" src=^"%name%-720.mp4^" >> %file% 
echo   systemLanguage=^"eng^" width=^"1280^"^> >> %file% 
echo    ^<param name=^"videoBitrate^" value=^"3000000^" valuetype=^"data^"^>^</param^> >> %file% 
echo    ^<param name=^"audioBitrate^" value=^"192000^" valuetype=^"data^"^>^</param^> >> %file% 
echo   ^</video^> >> %file% 
echo   ^<video height=^"540^" src=^"%name%-540.mp4^" >> %file% 
echo   systemLanguage=^"eng^" width=^"960^"^> >> %file% 
echo    ^<param name=^"videoBitrate^" value=^"1500000^" valuetype=^"data^"^>^</param^> >> %file% 
echo    ^<param name=^"audioBitrate^" value=^"128000^" valuetype=^"data^"^>^</param^> >> %file% 
echo   ^</video^> >> %file% 
echo   ^<video height=^"360^" src=^"%name%-360.mp4^" >> %file% 
echo   systemLanguage=^"eng^" width=^"640^"^> >> %file% 
echo    ^<param name=^"videoBitrate^" value=^"750000^" valuetype=^"data^"^>^</param^> >> %file% 
echo    ^<param name=^"audioBitrate^" value=^"96000^" valuetype=^"data^"^>^</param^> >> %file% 
echo   ^</video^> >> %file% 
echo  ^</switch^> >> %file% 
echo ^</body^> >> %file% 
echo ^</smil^> >> %file% 

pause 
+0

また、ファイルを保存する場所へのパスを広告する方法はありますか? – user3447105

+0

ありがとうございました... – user3447105

+0

'%path%'はシステム変数です。変更しないでください。 Windowsはこの変数を使用して、実行可能ファイルを探す場所を認識します。あなたがそれを変更すると、ほとんどのコマンドはもう動作しません。 'echo'と' pause'コマンドだけを使用するので、ここで動作します。これは内部コマンドです。 – Stephan

0

まだ持ちますあなたは助けるために問題のおかげで、これは私がなってしまったものです

set /P file=Enter input File Name: 
set /P fileext=Enter input File Extension: 

handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-1080.mp4" -w 1920 --preset="Normal" -E av_aac -B 320 -6 stereo 
handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-720.mp4" -w 1280 --preset="Normal" -E av_aac -B 192 -6 stereo 
handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-540.mp4" -w 960 --preset="Normal" -E av_aac -B 128 -6 stereo 
handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-360.mp4" -w 640 --preset="Normal" -E av_aac -B 96 -6 stereo 

@echo off 

set path=\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%.smil 

echo ^<?xml version=^"1.0^" encoding=^"UTF-8^"?^> > %path% 
echo ^<smil title=^"%file%^"^> >> %path% 
echo ^<body^> >> %path% 
echo  ^<switch^> >> %path% 
echo   ^<video height=^"1080^" src=^"%file%-1080.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"1920^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"5000000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"320000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo   ^<video height=^"720^" src=^"%file%-720.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"1280^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"3000000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"192000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo   ^<video height=^"540^" src=^"%file%-540.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"960^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"1500000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"128000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo   ^<video height=^"360^" src=^"%file%-360.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"640^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"750000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"96000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo  ^</switch^> >> %path% 
echo ^</body^> >> %path% 
echo ^</smil^> >> %path% 

exit 
+0

'@echo off'を削除し、パスを' set path = "¥¥s2016p5-plex¥c $¥Program Files(x86)¥Wowza Media Systems¥Wowza Streaming Engine 4.3.0¥content¥%file%の中で試してみてください。 smil "' – Slai

+0

バッチスクリプトはネットワークパスをサポートしていないと思うので、ドライブ名 'net use Z:\\ s2016p5-plex \ c $'にマッピングし、 'set path = Z:\ Program Files (x86)\ Wowza Media Systems \ Wowzaストリーミングエンジン4.3.0 \ content \%ファイル%.smil' – Slai

+0

それは素晴らしい作品です、これは私に多くの時間を節約します。ありがとう – user3447105

0

、一度にすべて実行するように、これを取得し、それは素晴らしい作品。

set /P file=Enter input File Name: 
set /P fileext=Enter input File Extension: 

handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-1080.mp4" -w 1920 --preset="Normal" -E av_aac -B 320 -6 stereo 
handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-720.mp4" -w 1280 --preset="Normal" -E av_aac -B 192 -6 stereo 
handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-540.mp4" -w 960 --preset="Normal" -E av_aac -B 128 -6 stereo 
handbrakecli -i "C:\Users\John\Desktop\VIDEO\%file%.%fileext%" -o "\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%-360.mp4" -w 640 --preset="Normal" -E av_aac -B 96 -6 stereo 

set path="\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\%file%.smil" 

@echo off 

echo ^<?xml version=^"1.0^" encoding=^"UTF-8^"?^> > %path% 
echo ^<smil title=^"%file%^"^> >> %path% 
echo ^<body^> >> %path% 
echo  ^<switch^> >> %path% 
echo   ^<video height=^"1080^" src=^"%file%-1080.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"1920^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"5000000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"320000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo   ^<video height=^"720^" src=^"%file%-720.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"1280^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"3000000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"192000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo   ^<video height=^"540^" src=^"%file%-540.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"960^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"1500000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"128000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo   ^<video height=^"360^" src=^"%file%-360.mp4^" >> %path% 
echo   systemLanguage=^"eng^" width=^"640^"^> >> %path% 
echo    ^<param name=^"videoBitrate^" value=^"750000^" valuetype=^"data^"^>^</param^> >> %path% 
echo    ^<param name=^"audioBitrate^" value=^"96000^" valuetype=^"data^"^>^</param^> >> %path% 
echo   ^</video^> >> %path% 
echo  ^</switch^> >> %path% 
echo ^</body^> >> %path% 
echo ^</smil^> >> %path% 

exit 
0

%path $については、

すべてのパスにこのパスを追加する方法はありますか。 現在、パスは5か所にあります。私がちょうど1つの場所で変更でき、5つすべてで機能するようにすればいいのですか?

\\s2016p5-plex\c$\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.3.0\content\ 
+0

この問題に関するアイデアはありますか? – user3447105

関連する問題