私は、特定のディレクトリにコピーして他のコンピュータに転送する必要がある曲のxspfプレイリストを作成しました...私はどのようにubuntuを使ってこれを行いますか?xspfプレイリストのすべてのファイルをディレクトリにコピーする方法は?
1
A
答えて
1
私自身どこか他の場所でこれを見つけることができなかったので、これを行うための迅速で汚れたPHPハックをコーディングしました。これは決してエレガントな解決策ではありませんが、私の目的には十分です。最後にcopy
の部分をコメントアウトし、echo
構造に置き換えて、コードが正しいファイルをコピーしていることを確認することをお勧めします。
Usage example: ./copy_xspf.php --e -i myMusic.xspf -o /home/foo/bar
-i filename or --input filename - XSPF file to parse
-o directory or --input directory - directory to copy to (needs to exist!)
--help - display this help and terminate
スクリプトソース:
ヘルプエントリ
#!/usr/bin/php
<?php
// Quick and dirty hack.
for($i = 1; $i < count($argv); ++$i) {
if($argv[$i] == '--help' || $argv[$i] == '-e') {
echo "Usage example: ./copy_xspf.php --e -i myMusic.xspf -o /home/foo/bar\n";
echo "-i filename or --input filename - XSPF file to parse\n";
echo "-o directory or --input directory - directory to copy to (needs to exist!)\n";
echo "--help - display this help and terminate\n";
die();
}
if($argv[$i] == '--input' || $argv[$i] == '-i') {
if(!isset($argv[$i+1])) {
die("No input filename given (xspf file), use -i filename or --input filename\n");
} else {
$filename = $argv[$i+1];
}
}
if($argv[$i] == '--output' || $argv[$i] == '-o') {
if(!isset($argv[$i+1])) {
die("No output directory given, use -o directory or --output directory\n");
} else {
$outputDir = $argv[$i+1];
}
}
}
if(!isset($filename) || empty($filename)) {
die("No input filename given (xspf file), use -i filename or -input filename\n");
}
if(!isset($outputDir) || empty($outputDir)) {
die("No output directory given, use -o directory or --output directory\n");
} else {
$outputDir = rtrim($outputDir, '/');
}
$xml = file_get_contents($filename);
preg_match_all('#<location>(.*?)</location>#', $xml, $matches);
$matches = $matches[1]; // Select only the contents of (.*?), not the entire pattern
$matches = preg_replace('#file://(.*)#', '\\1', $matches); // Remove file://
foreach($matches as $key => $value) {
$matches[$key] = urldecode($value);
$matches[$key] = html_entity_decode($matches[$key]);
}
foreach($matches as $value) {
$base = basename($value);
echo "Copying $base ...\n";
copy($value, "$outputDir/$base");
}
0
私はので、私は一緒にフォルダにすべてのファイルを抽出実行するPythonスクリプトを入れて同様の問題があったhttps://github.com/solancer/XSPF_Playlist_Extractor
関連する問題
- 1. あるディレクトリのXMLファイルを他のディレクトリにコピーする方法
- 2. すべてのファイルをディレクトリから別のディレクトリにコピー
- 3. Mavenでは、target/surefire-reportsディレクトリ内のすべてのファイルを単一のディレクトリにコピーする方法
- 4. UNIX:同じ名前のすべてのファイルを別のディレクトリにコピーしてコピーする方法
- 5. ディレクトリからファイルを別のディレクトリにコピーする方法
- 6. あるFTPディレクトリから別のFTPディレクトリにすべてのファイルをコピーする
- 7. cordvaの別のディレクトリにファイルをコピーする方法は?
- 8. ディレクトリのすべてのフォルダにファイルをコピーします。
- 9. ディレクトリ内のすべてのファイルをコピーする
- 10. この再帰コピー機能は、すべてのファイルを正しいディレクトリの上にあるすべてのディレクトリにコピーするのはなぜですか?
- 11. リスト内のすべてのファイルを一意のディレクトリにコピー
- 12. ディレクトリからすべてのファイルをロードする方法は?
- 13. npmにディレクトリとそのネストされたサブディレクトリのすべてのファイルをコピーする方法は?
- 14. すべてのファイルをtxtファイルのパスからフォルダにコピーする方法は?
- 15. すべての.priファイルをディレクトリ内に追加する方法
- 16. DelphiとIdFtp - ディレクトリにすべてのファイルをアップロードする方法
- 17. Grunt.jsコピーを使用して、ディレクトリから別のディレクトリにすべてのファイルをコピーします。
- 18. ローカルのディレクトリをリモートサーバにファイルをコピーする方法talend
- 19. 所定のディレクトリからファイルをコピーする方法(ファイル名で)
- 20. jarファイルを複数のディレクトリにコピーする方法
- 21. ファイルを他のディレクトリにコピーする方法
- 22. リソースディレクトリとJarのすべてのファイルとサブフォルダを別のディレクトリにコピーする方法
- 23. Gradleのディレクトリ下にあるすべてのファイルを除外する方法は?
- 24. Androidのネイティブコードを使用して、あるディレクトリから別のディレクトリにファイルをコピーする方法は?
- 25. resourcesディレクトリからすべてのファイルをリストする方法
- 26. ディレクトリからすべてのファイルを取得する方法
- 27. 数字で始まらないすべてのファイルを別のディレクトリにコピーする方法 - Bash
- 28. ディレクトリ内のすべてのファイルの移動/コピー
- 29. 異なるビルドから出力ディレクトリにすべてのファイルをコピーするビルドスクリプト
- 30. ディレクトリにファイルのリストをコピーする