Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Miniatur Wunderland - Monaco

Familia Simpson

plata impozit profit actiuni trad...

Extras de cont cu semnatura elect...
 Ce parere aveti despre ascasa.de ...

Sfat achizitie bmw e92 320d

switch Gigabit POE pentru toate e...

Triunghi
 Relatie, vorbit prin mesaje

Radon!

S-a ocupat Dumnezeu de formarea o...

Windows 10 Pro - Automatic Repair...
 Purici pisica apartament

Romania se afla in top 5 cele mai...

Dividende 2023 declaratia unica A...

kit placa de baza si procesor pen...
 

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,294
  • Î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,294
  • Î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: 725
  • Î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,294
  • Î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,238
  • Î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

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

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