Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [BATCH] se sposto il file batch non funziona

    salve ho creato un file.bat per fare il dump di un database creato con MySQL. se il file.bat lo metto dul Desktop e lo avvio il tutto va a buon fine, se invece lo sposto non funziona, mi apre la console e resta in loop chissà facendo cosa!

    mi sapete dire il motivo?
    vi posto il codice
    codice:
    @echo off
    cd "C:\Programmi\MySQL\MySQL Server 4.1\bin\"
    mysqldump --opt --u root --password="password" nome_db  > 
    "C:\Documents and Settings\Matteo\Desktop\comuni_dump.sql"
    www.matteosteri.it

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Prova ad eseguirlo in finestra dos, eliminando temporaneamente la linea @echo off, per capire cosa fa ...

  3. #3
    ho provato e in pratica il problea è che non fa il change directory, quindi va a ricercare il comando mysqldump nella directory in cui di trova il file.bat.

    ho provato anche con solo
    codice:
    cd "C:\"
    ma non funziona uguale
    www.matteosteri.it

  4. #4
    La soluzione è semplicissima, hai commesso un errore di sintassi.

    Non devi scrivere:
    cd "C:\Programmi\MySQL\MySQL Server 4.1\bin\"
    Ma:
    cd "\Programmi\MySQL\MySQL Server 4.1\bin\"

    Senza cioè mettere "C:", perchè stai già lavorando su quell'unità.

    Spero che tutto funzioni ora.

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Originariamente inviato da monkeyadventure
    La soluzione è semplicissima, hai commesso un errore di sintassi.
    L'indicazione della lettera per l'unità è superflua, ma non può essere considerato un errore.

    Sarebbe utile conoscere anche qual è la cartella in cui viene spostato il file batch nell'esecuzione che non va a buon fine.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non credo sia quello il problema ...

    Sei sicuro che il percorso sia corretto?

    Hai provato ad eseguirlo "a mano" ?

    cd "c:\...."

    E poi nel batch perche' non avvii il programma completo di percorso?

  7. #7
    A me dal prompt del DOS se metto la lettera non funziona, per quello pensavo che il problema potesse essere quello.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Originariamente inviato da monkeyadventure
    A me dal prompt del DOS se metto la lettera non funziona, per quello pensavo che il problema potesse essere quello.
    A me funziona perfettamente. Se le memorie del DOS non mi ingannano, il percorso con unità specificato per il comando CD modificano la cartella corrente su quell'unità, poi è necessario spostarsi sull'unità relativa, nel caso l'unità corrente di riferimento sia diverso.

    Presumo che il problema sia da ricercare altrove.

    Ad ogni modo, se si pensa che il problema sia nella definizione del percorso, basta inserire un PAUSE e vedere di cosa si tratta, se non si vuole ricorrere a metodi avanzati di debugging dello script batch.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    allora ho trovato dove è il problema

    se il file batch lo sposto in una directory la cui lettera di unità è la stessa non ci sono problemi e il comando viene eseguito correttamente, se invece lo sposto in d:\ ad esempio non funziona perchè non esegue il 'cd'.

    il comando PAUSE lo uso e infatti ho notato che non esegue il CD
    www.matteosteri.it

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Originariamente inviato da tommisceddu
    allora ho trovato dove è il problema

    se il file batch lo sposto in una directory la cui lettera di unità è la stessa non ci sono problemi e il comando viene eseguito correttamente, se invece lo sposto in d:\ ad esempio non funziona perchè non esegue il 'cd'.

    il comando PAUSE lo uso e infatti ho notato che non esegue il CD
    Allora aggiungi semplicemente lo spostamento all'unità:

    codice:
    @ECHO OFF
    CLS
    C:
    CD directory
    ...
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.