Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Joy Berceni Biruintei 87

Recomandare suport tableta

Vanzare apartament

Adaptare motor nou la unele elect...
 Sfat achizitie mirrorless Lumix

Romania printre primele poziții d...

Pisica din Iasi care a mers sa na...

PC fara wifi, conectare smart mon...
 Masina cu buget redus

Renovare garsoniera 40 m.p. - ins...

Amorsa

Catel gasit pe strada
 Arhiva tar - descarcare nesigura ...

Racord flexibil gaz in loc de apa

Microsoft Office versiune optima

Dezmenbrare teren - cedare drum l...
 

Schimbare folder din script file

- - - - -
  • Please log in to reply
9 replies to this topic

#1
Shinji

Shinji

    Member

  • Grup: Members
  • Posts: 386
  • Înscris: 04.04.2005
Am un script in Windows. Daca userul da right click pe el si alege "Run as administrator" atunci directorul curent nu este cel al fisierului, ci "C:\Windows\system32".
Eu am nevoie ca directorul curent sa fie cel in care se gaseste fiserul si am rezolvat asta adaugand in script "pushd %~dp0".
Toate bune doar ca acum a aparut un bug ca daca fiserul se gaseste intr-un folder care contine caractere speciale de ex "test@^&" atunci command promptul pur si simplu crashuieste cand e pornit prin "Run as administrator".
Daca pornesc command promptul separat in admin mode, ma mut in directorul unde e scriptul si il pornesc de acolo atunci totul e ok.
Am incercat sa pun "%~dp0" intre ghilimele dar comportarea e aceeasi.

Are cineva vreo idee ce as putea sa fac?

Edited by MarianG, 22 September 2022 - 10:46.
tehnoredactare


#2
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005

Quote

C:\Windows\system32>echo on
C:\Windows\system32>cd /d "C:\Users\MarianG\Desktop\test@\"
C:\Users\MarianG\Desktop\test@>type "C:\Users\MarianG\Desktop\test@\test.bat"
echo on
cd /d "%~dp0"
type "%~f0"
pause
C:\Users\MarianG\Desktop\test@>pause
Press any key to continue . . .

Ne poti arata un script in care da crash ?

Edited by MarianG, 22 September 2022 - 11:44.


#3
Shinji

Shinji

    Member

  • Grup: Members
  • Posts: 386
  • Înscris: 04.04.2005

View PostMarianG, on 22 septembrie 2022 - 11:41, said:

Ne poti arata un script in care da crash ?
Un fisier .cmd care contine doar "pushd %~dp0" urmat de un "pause" e de ajuns. Se pune intr-un folder cu numele "test@^&", se da right click pe fisier si "Run as administrator". La mine pe laptop cu Windows 10 nu ajunge niciodata la pause, doar crashuieste.

#4
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005
Cum se comporta pe user normal?

Edited by MarianG, 22 September 2022 - 12:31.


#5
Shinji

Shinji

    Member

  • Grup: Members
  • Posts: 386
  • Înscris: 04.04.2005

View PostMarianG, on 22 septembrie 2022 - 12:29, said:

Cum se comporta pe user normal?
Merge perfect, in afara faptului ca da o eroare de path care se rezolva usor punand "%~dp0" intre ghilimele adica: pushd "%~dp0". De asemenea in admin mode merge perfect daca pornesc intai command promptul si ii dau de acolo sa ruleze fiserul.

Problema apare doar la right click pe fisier si "Run as administrator".

#6
bbox

bbox

    Member

  • Grup: Members
  • Posts: 741
  • Înscris: 12.05.2005
Problema cunoscuta:

https://serverfault....s-administrator
https://stackoverflo...0-in-batch-file
https://stackoverflo...y-has-character


O solutie este sa modifici in registry cheile "HKEY_CLASSES_ROOT\batfile\Shell\runas\command" si "HKEY_CLASSES_ROOT\cmdfile\Shell\runas\command"


din:
%SystemRoot%\System32\cmd.exe /C "%1" %*

in
%SystemRoot%\System32\cmd.exe /C ""%1" %*"

Edited by bbox, 22 September 2022 - 12:55.


#7
Shinji

Shinji

    Member

  • Grup: Members
  • Posts: 386
  • Înscris: 04.04.2005
Heh, pare un bug major al Windows-ului daca Run as Administrator nu merge pe niciun batch file din foldere care contin caractere speciale. Ma mir ca Microsoft nu a rezolvat chestia asta.

#8
waterman

waterman

    Guru Member

  • Grup: Senior Members
  • Posts: 28,372
  • Înscris: 17.05.2004
Nu poți pune în batch ceva de genu...

cd\
cd folderucucaracterespeciale
comanda efectiva

?

#9
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005
Problema este ca cu "drepturi de administrator" nu se executa daca are caractere speciale, " ^ "

#10
modoran

modoran

    Senior Member

  • Grup: Senior Members
  • Posts: 8,367
  • Înscris: 08.02.2011
Fa executabil din scriptul ala mai bine. Sau folosesti PowerShell ca suntem in 2022 si windows 10 se apropie si el de sfarsitul vietii. In windows 11 nici nu mai este default cmd.exe ala, semn ca nici pomeneala sa se mai imbunatateasca ceva la el.

Edited by modoran, 22 September 2022 - 14:18.


Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate