execv()の親ファイルとルートファイルなしで1行にtar圧縮するにはどうすればよいですか?

PapaSheng

この質問は、このサイトでさまざまな解決策を使って何百万回も質問されていますが、私の場合はどれもうまくいかないようです。

これまでのところ、最も有望なのはtar -cvf testetest.tar -C folder1 *、folder1に含まれる場所です。

Folder1
    >txt1.txt
    >folder2
        >txt2.txt

ターミナルで上記のコードを実行するtesttest.tarと、一連のエラーメッセージとともに次のコードが作成されます。

txt1.txt
folder2
    >txt2.txt

ただし、次のようにexecvを介して関数で実行した場合:

pid_t archive = fork();
    switch(archive)
    {
        case -1 :
        {
            printf("fork() failed\n");
            break;
        }
        case 0 :
        {
            if( strcmp(getFileExtension(finalArchiveName), "tar") == 0)
            {
                char* args[] = {"/usr/bin/tar","-cvf", finalArchiveName, "-C", "dest", "*", NULL};
                int error = execv("/usr/bin/tar", args);    
                if(error == -1){
                    perror("Error when archiving");
                    exit(EXIT_FAILURE);
                }
                else{
                    exit(EXIT_SUCCESS);
                }
                break;
            }
//... (not including the whole function, only the part i feel is relevant to the question)

それはで戻ります /usr/bin/tar: *: Cannot stat: No such file or directory

私は疲れてきたもう一つのラインは交換することである*.、ルートディレクトリを含めて最大しかし、その両端

いう

シェルに*入力するとわかるようecho *に、シェルはをファイル名のリストに置き換えます。ただしexecv、特にシェルを実行しない限り、の呼び出しにはシェルはありません

char* args[] = {"sh", "-c", "tar /usr/bin/tar -cvf testetest.tar -C dest *", NULL};
int error = execv("/bin/sh", args);

このような場合、system()多くの場合、より簡単な代替手段です。

コマンドラインユーティリティに引数として渡すファイル名のリストを作成する場合は、を参照してくださいglob()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

tarを使用して.txtファイル内のファイルのグループを圧縮するにはどうすればよいですか?

分類Dev

リモートサーバーからコピーする前に、すべてのファイルを1つのtar.gzファイルに圧縮するにはどうすればよいですか?

分類Dev

tarコマンドを使用して圧縮せずにファイルをグループ化するにはどうすればよいですか?

分類Dev

ベーゼルでファイルを圧縮するにはどうすればよいですか

分類Dev

ファイルをループで圧縮して別のディレクトリに移動するにはどうすればよいですか?

分類Dev

lzmaを使用して複数のファイルを1つのアーカイブに圧縮するにはどうすればよいですか?

分類Dev

.xzを介して `grep`でファイルを圧縮するにはどうすればよいですか?

分類Dev

シェルが1行で展開するにはファイル名が多すぎる場合、どのように圧縮tarを作成しますか?

分類Dev

圧縮されたテキストファイルの最後の数行を解凍して印刷するにはどうすればよいですか?

分類Dev

exeファイルとdllファイルの束をCPackと一緒に圧縮するにはどうすればよいですか?

分類Dev

コマンドラインから、特定のファイルとディレクトリを1つの圧縮フォルダーに圧縮するにはどうすればよいですか?

分類Dev

gulpを使用してファイルを圧縮するにはどうすればよいですか

分類Dev

Windowsエクスプローラーで圧縮または非圧縮のファイルを検索するにはどうすればよいですか?

分類Dev

圧縮ファイルのコンテンツを表示するにはどうすればよいですか

分類Dev

圧縮ファイルの信頼性を確認するにはどうすればよいですか?

分類Dev

シェルでファイルを.rar圧縮するにはどうすればよいですか?

分類Dev

大量のRAMを使用せずにgzip圧縮されたtarファイルを作成するにはどうすればよいですか?

分類Dev

tarがファイルへのルートパスをアーカイブしないようにするにはどうすればよいですか?

分類Dev

Nautilusで.gzファイルを最大限に圧縮するにはどうすればよいですか?

分類Dev

Nautilusで.gzファイルを最大限に圧縮するにはどうすればよいですか?

分類Dev

zipファイルではなくバイナリを出力するzip圧縮を実行するにはどうすればよいですか?

分類Dev

.cbrファイルと.cbzファイルを非常に厳密に圧縮するにはどうすればよいですか?

分類Dev

(巨大な)gzip圧縮されたファイルの行を反復処理するにはどうすればよいですか?

分類Dev

特定の基準に一致しないファイルを圧縮するにはどうすればよいですか?

分類Dev

抽出後に圧縮ファイルを削除します-デフォルト値を設定するにはどうすればよいですか?

分類Dev

フォルダ内のすべてのファイルをコードに圧縮するにはどうすればよいですか?

分類Dev

Spring @RestControllerを介してダウンロードとして圧縮されたファイルを提供するにはどうすればよいですか?

分類Dev

Spring @RestControllerを介してダウンロードとして圧縮されたファイルを提供するにはどうすればよいですか?

分類Dev

プレーンSQLファイルを圧縮されたpgdumpファイルに変換するにはどうすればよいですか?

Related 関連記事

  1. 1

    tarを使用して.txtファイル内のファイルのグループを圧縮するにはどうすればよいですか?

  2. 2

    リモートサーバーからコピーする前に、すべてのファイルを1つのtar.gzファイルに圧縮するにはどうすればよいですか?

  3. 3

    tarコマンドを使用して圧縮せずにファイルをグループ化するにはどうすればよいですか?

  4. 4

    ベーゼルでファイルを圧縮するにはどうすればよいですか

  5. 5

    ファイルをループで圧縮して別のディレクトリに移動するにはどうすればよいですか?

  6. 6

    lzmaを使用して複数のファイルを1つのアーカイブに圧縮するにはどうすればよいですか?

  7. 7

    .xzを介して `grep`でファイルを圧縮するにはどうすればよいですか?

  8. 8

    シェルが1行で展開するにはファイル名が多すぎる場合、どのように圧縮tarを作成しますか?

  9. 9

    圧縮されたテキストファイルの最後の数行を解凍して印刷するにはどうすればよいですか?

  10. 10

    exeファイルとdllファイルの束をCPackと一緒に圧縮するにはどうすればよいですか?

  11. 11

    コマンドラインから、特定のファイルとディレクトリを1つの圧縮フォルダーに圧縮するにはどうすればよいですか?

  12. 12

    gulpを使用してファイルを圧縮するにはどうすればよいですか

  13. 13

    Windowsエクスプローラーで圧縮または非圧縮のファイルを検索するにはどうすればよいですか?

  14. 14

    圧縮ファイルのコンテンツを表示するにはどうすればよいですか

  15. 15

    圧縮ファイルの信頼性を確認するにはどうすればよいですか?

  16. 16

    シェルでファイルを.rar圧縮するにはどうすればよいですか?

  17. 17

    大量のRAMを使用せずにgzip圧縮されたtarファイルを作成するにはどうすればよいですか?

  18. 18

    tarがファイルへのルートパスをアーカイブしないようにするにはどうすればよいですか?

  19. 19

    Nautilusで.gzファイルを最大限に圧縮するにはどうすればよいですか?

  20. 20

    Nautilusで.gzファイルを最大限に圧縮するにはどうすればよいですか?

  21. 21

    zipファイルではなくバイナリを出力するzip圧縮を実行するにはどうすればよいですか?

  22. 22

    .cbrファイルと.cbzファイルを非常に厳密に圧縮するにはどうすればよいですか?

  23. 23

    (巨大な)gzip圧縮されたファイルの行を反復処理するにはどうすればよいですか?

  24. 24

    特定の基準に一致しないファイルを圧縮するにはどうすればよいですか?

  25. 25

    抽出後に圧縮ファイルを削除します-デフォルト値を設定するにはどうすればよいですか?

  26. 26

    フォルダ内のすべてのファイルをコードに圧縮するにはどうすればよいですか?

  27. 27

    Spring @RestControllerを介してダウンロードとして圧縮されたファイルを提供するにはどうすればよいですか?

  28. 28

    Spring @RestControllerを介してダウンロードとして圧縮されたファイルを提供するにはどうすればよいですか?

  29. 29

    プレーンSQLファイルを圧縮されたpgdumpファイルに変換するにはどうすればよいですか?

ホットタグ

アーカイブ